1.TCP/IP协议组
(1)网络层: IP协议,ICMP协议,ARP协议,PARP,BOOTP
(2)传输层:TCP协议(传输控制协议),UDP协议(用户数据报协议)
(3)应用层:FTP,HTTP,TELNET,SMTP,DNS...
2.ISO-OSI的七层网络协议
物理层(bit),链路层(frame),网络层(packet),传输层(segment),会话层,表示层,应用层
3.三次握手和四次挥手
4.http1.0和http2.0
HTTP1.0 |
|
HTTP1.1 |
|
HTTP2.0 |
|
5.缓存
a.优点:
- 减少了不必要的数据传输,节省带宽
- 减少服务器的负担,提升网站性能
- 加快了客户端加载网页的速度
- 用户体验友好
b.缺点:
- 资源如果有更改但是客户端不及时更新会造成用户获取信息滞后,如果老版本有bug的话,情况会更加糟糕。
c.强缓存
1.具体表现为:设置了相对时间
respone header 的cache-control,常见的设置是max-age public private no-cache no-store等
no-store(不缓存),no-cache(跳过设置强缓存,但是不妨碍设置协商缓存),
private(只让客户端可以缓存该资源;代理服务器不缓存)
public(客户端和代理服务器都可以缓存该资源)
2.用户刷新页面,浏览器也不会发起请求去服务,浏览器会直接从本地磁盘或者内存中读取缓存并返回200状态
d.协商缓存
发请求-->看资源是否过期-->过期-->请求服务器-->服务器对比资源是否真的过期-->没过期-->返回304状态码-->客户端用缓存的老资源。
当过期:
发请求-->看资源是否过期-->过期-->请求服务器-->服务器对比资源是否真的过期-->过期-->返回200状态码-->客户端如第一次接收该资源一样,记下它的cache-control中的max-age、etag、last-modified等
请求资源时,把用户本地该资源的 etag 同时带到服务端,服务端和最新资源做对比。
如果资源没更改,返回304,浏览器读取本地缓存。
如果资源有更改,返回200,返回最新的资源