关于HTTP1.0、1.1、1.x、2.0、3.0与HTTPS之间的理解

关于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由于不同的连接标示方法可以恢复与服务器的连接。

相关推荐
zzr9151 小时前
多线程网络编程:粘包问题、多线程/多进程服务器实战与常见问题解析
linux·运维·服务器·网络·ubuntu
Bob99981 小时前
基于晶晨S905L3B单网线盒子的Armbian 或openwrt应用
java·javascript·网络·数据结构·c++·python·eclipse
Hello.Reader3 小时前
NGINX `ngx_http_auth_request_module` 模块详解基于子请求的认证授权方案
运维·nginx·http
IT主机CV3 小时前
端口安全基本配置
服务器·网络·安全
津津有味道5 小时前
HTTP协议网络读卡器通讯报文
http·rfid·网络读卡器
陈庆之的论衡7 小时前
使用 Poco C++ 库构建轻量级 HTTP 服务器
开发语言·c++·http
lml48567 小时前
Nginx安全防护与HTTPS部署实战
nginx·安全·https
惊起白鸽4507 小时前
nginx安全防护与HTTPS部署实战
nginx·安全·https
2501_916008898 小时前
iOS与HTTPS抓包调试小结
websocket·网络协议·tcp/ip·http·网络安全·https·udp
Hello.Reader8 小时前
NGINX `ngx_http_browser_module` 深度解析与实战
运维·nginx·http