学习笔记,http协议1.0,1.1,2.0之间的差别

文章目录

  • 前言
  • http 1.1与http 1.0
  • http 2.0 与http 1.x
  • 注意点


前言

仅做个人学习笔记记录,如有错误,请多多包涵。

学习链接:
HTTP 1.0与1.1、2.0之间的区别
面试官:说说 HTTP1.0/1.1/2.0 的区别?


http 1.1与http 1.0

http协议1.1相对于http协议1.0

1、增加持久化链接(长连接),多个http请求可以共用同一连接。http 1.0 打开一个 tcp/ip 连接后只用来发送一个 http 请求,发完后 tcp/ip 连接关闭。

但在http 1.1中,发完后如果上一个 http 请求报文中有 connection: keep-alive,服务端在返回应答报文以后保持tcp/ip连接开启,如果是 connection: close,那么 tcp/ip 连接关闭

2、虚拟主机,多域名之间可以共享同一ip地址

(虚拟主机和NAT协议建立的IP:端口号之间的关联,公网和私网)

3、流水线处理,下一请求不必等上一请求的响应到达后发送,可以一次发送多条请求。

4、增加了更多的状态码,完善了状态码系统。

5、增加了断点续传,使用range字段来让文件下载断开后,不用重新下载,可以接着上次的下载进度。

http 2.0 与http 1.x

1、相对于1.x新增了多路复用,一条tcp链接中可以发送多条请求和响应。

可以理解为将同时传输的文件拆分成多个frame,在可用现成间轮转请求这些frame,避免一个文件请求阻塞另一个文件的情况,但是这种做法会有frame级别的阻塞,原因和TCP协议有关,也正是因为如此,才有了h3和QUIC协议

2、换成了二进制编码,相较于之前http 1.x协议的文本形式,明文传输,更加安全可靠。

3、压缩消息头,节省开销,降低延迟。

4、服务器推送,服务器可以自己推送资源到浏览器处,不用等待浏览器发送请求占用资源。

5、增加安全协议TLS

(其和https的s之间的区别)
https中的s代表的是ssl协议
tls协议和ssl协议的差别:
参考链接:
SSL与TLS到底有何区别,一见分晓
传输层安全协议TLS——密码学概述
第一篇文章指出,tls协议基于ssl协议3.0,可以简单理解为ssl协议的升级版
根据第二篇参考文章说,ssl协议不推荐使用

注意点

http 2.0 完全没有新增请求状态码, http 1.1中状态码系统就已经完善了

二进制格式是实现多路复用的前提条件,多路复用更像是流水线处理的升级版,服务器也无需指定顺序发送响应,避免堵塞。


至此,借宿后

Guess you like

Origin blog.csdn.net/Aer_7z/article/details/134543044