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

相关推荐
前进吧-程序员37 分钟前
C++20 协程入门实战:从 co_await 到一个 100 行的异步任务调度器
网络·c++·c++20
前进吧-程序员1 小时前
实战:C++20 协程 + io_uring 写一个 400 行的 echo server
网络·c++·c++20
云飞云共享云桌面2 小时前
机械制造研发部门:一台SolidWorks云主机替代 10 台传统图形工作站
运维·服务器·网络·3d·自动化·制造
靠coding维持生计的potato2 小时前
从HTTP到存储——文件上传的底层原理梳理
http
loulanyue_3 小时前
从碎片文档到工业知识网络:TDengine工业知识图谱架构设计与大模型落地破局——读涛思数据OpenDay实录
网络·知识图谱·tdengine
东方佑3 小时前
去魅:工具调用、Agent 调用、A2A、MCP、Harness 到底都是什么
服务器·网络·数据库
上海云盾-小余3 小时前
七层 CC 攻击检测难点:如何区分真实用户与攻击请求
网络·人工智能·windows·tcp/ip·udp
2401_885885043 小时前
巴林语音通知接口如何对接?系统告警语音API接入教程
android·前端·网络·python·语音识别
JSON_L3 小时前
TCP 粘包拆包解析及示例
网络·网络协议·tcp/ip
科技小E4 小时前
私有化部署:私有化/本地化AI模型训推工作站DLTM数据不出内网的“安全锁”
网络·安全·自动化