关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解
HTTP的由来
HTTP是Hyper Text Transfer Protocol(超文本传输协议)的缩写。它的发展是万维网协会(World Wide Web Consortium)和Internet工作小组IETF(Internet Engineering Task Force)合作的结果。
HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。
HTTP1.0
HTTP1.0是建立一个非持久的连接,遵循TCP/IP协议,采用三次握手。客户端需要为每一个请求对象建立并维护一个新的连接,网络负担重,导致传输效率非常慢。
HTTP1.1
HTTP1.1相对于HTTP1.0采用了更多的缓存策略,建立了一个长链接,相当于在同一链路上串行进行传输数据。相对而言少了多次建立连接的成本,传输效率相对快速。
HTTPS
HTTPS运行在安全套接字协议(Secure Sockets Layer,SSL )或传输层安全协议(Transport Layer Security,TLS)之上,所有在TCP中传输的内容都需要经过加密。
连接方式不同,HTTP的端口是80,HTTPS的端口是443。HTTPS可以有效防止运营商劫持。
HTTP1.x
HTTP1.x相对HTTP1.1而言采用了多路复用绕过浏览器在同一域名下请求数量限制,对header进行了压缩,传输效率进一步提高。引入了HTTPS加密。客户端可以在缓存中读取到之前的请求内容。
HTTP2.0
HTTP2.0并不强制HTTPS加密,也可以使用明文传输。同样采用多路复用并行传输数据,header压缩方式与HTTP1.x不同。
HTTP3.0
HTTP3.0 (Quick UDP Internet Connections),基于UDP协议,UDP不需要三次握手,数据是加上报头直接传输的。
彻底解决线头阻塞问题,不同流之间相互独立互不干扰。TCP在IP地址变更后需要重新建立与服务器的连接,UDP由于不同的连接标示方法可以恢复与服务器的连接。