七层网络模型:
1、物理层
2、数据链路层
3、网络层
4、传输层
5、会话层
6、表示层
7、应用层
TCP/IP四层结构:
1、网络接口层
2、网络层
3、传输层
4、应用层
其中HTTP协议位于应用层
HTTPS中的SSL位于传输层之上
HTTP1.0、HTTP1.1、HTTP2.0的区别
HTTP1.1对比HTTP1.0,新增特性:
1、长连接:
在HTTP1.1中默认开启长连接keep-alive
2、节约带宽:
HTTP1.1支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,客户端接收到100才开始把请求body发送到服务器
3、HOST域:
HTTP1.1的请求消息和响应消息都支持host域,会在请求消息中的URL传递主机名,且请求消息中如果没有host域会报告一个错误(400 Bad Request)。
4、缓存处理
在HTTP1.0中主要使用header里的If-Modified-Since,Expires来做为缓存判断的标准,1.1中增加了Entity tag,If-Unmodified-Since,If-Match, If-None-Match等更多可供选择的缓存头来控制缓存策略。
5、错误通知的管理
在HTTP1.1中新增了24个错误状态响应码
HTTP2.0对比HTTP1.1,新增特性:
1、多路复用
HTTP2.0使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。
2、压缩Header
HTTP2.0使用HPACK算法对header的数据进行压缩
3、服务器推送
HTTP2.0允许服务端推送资源给浏览器
4、二进制分帧
在应用层(HTTP)和传输层(TCP)之间增加一个二进制分帧层,在HTTP2.0中引入了新的编码机制,所有传输的数据都会被分割,并采用二进制格式编码。