所有的新技术,都是在老技术上加了一点点小的改进!
CDN
CDN的全称是Content Delivery Network,即内容分发网络,它应用了 HTTP 协议里的缓存和代理技术,代替源站响应客户端的请求。CDN 是构建在现有网络基础之上的网络,它依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的关键技术主要有内容存储和分发技术。
打比方说你要去亚马逊上买书,之前你只能通过购物网站购买后从美国发货过海关等重重关卡送到你的家里,现在在中国建立一个亚马逊分基地,你就不用通过美国进行邮寄,从中国就能把书尽快给你送到。
HTTP如何通过TCP协议通信
当应用层协议(HTTP协议)使用 TCP/IP 协议传输数据时, TCP/IP 协议簇可能会将应用层发送的数据分成多个包依次发送, 而数据的接收方收到的数据可能是分段的或者拼接的, 所以它需要对接收的数据进行拆分或者重组。
DNS查询服务为啥使用UDP
1.为了速度,不需要3次握手建立连接,只需要目标ip就可以发送了
2.dns 数据比较小,一个udp数据包就可以了
3.也可使用tcp,为了可靠安全。
Cookie 和Session(保存用户状态)
HTTP 协议是一种无状态协议,即每次服务端接收到客户端的请求时,都是一个全新的请求,服务器并不知道客户端的历史请求记录。
每一个HTTP请求是独立的,服务端不能鉴别出两个请求是不是来自同一个用户。
HTTP Cookie 机制是 HTTP 协议无状态的一种补充和改良
Session是啥
Session用来跟踪会话。
客户端请求服务端,服务端会为这次请求开辟一块内存空间(放在内存中保证读取速度),这个对象便是 Session 对象,存储结构为 ConcurrentHashMap。
Cookie是啥(包含,域名,用户信息,过期时间)
Cookies是客户端浏览器保存在用户机器上一小段文本信息。
Cookies可以用来跟踪会话,也可以保存用户的特点或者用户名密码之类的信息。
服务端发送给客户端的,服务端生成Session 之后,把Session发送给客户端,下次客户端请求的时候带上,用来识别客户端。
Token 是啥
为啥需要token
1.服务端做了负载均衡的情况下,客户端每次访问服务端响应的服务器不一定是同一台。那么服务端如何保存session
1.单独session服务器
2.同步session数据
3.客户端来保存session(因为服务端保存session最大的原因是:校验cookie)。
什么是负载均衡(前面提到过了,为了提升网站的各方面能力,我们把多台机器组成一个集群对外提供服务。然而,我们的网站对外提供的访问入口都是一个)
Token 的意思是“令牌”,是服务端生成的一串字符串,作为客户端进行请求的一个标识。 当用户第一次登录后,服务器生成一个token并将此token返回给客户端,以后客户端只需带上这个token前来请求数据即可,无需再次带上用户名和密码。