http1.0 1.1 2.0 3.0 https 的区别

http1.0 与 http1.1 的区别

  1. 连接方面,http1.0使用短连接,http1.1使用长链接,复用一个tcp链接进行多个http请求,避免了多次重复建立链接的资源浪费
  2. 资源请求方面,http1.0 只能获取全部对象,即使我们只是想要资源的某一部分。而http1.1使用range请求头和206(partial content)状态码,支持获取部分对象,方便开发者自由地选择以便于充分利用带宽。
  3. 缓存方面,http1.0用的是expires来设置一个绝对的过期时间。http1.1新增了Cache-Control,If-Modified-Since/Last-Modified, If-None-Match/Etag 来判断缓存是否过期
  4. 请求方面,http1.0只有get, http1.1新增了 put head options等
  5. http1.1新增了host字段,可以将请求发送到同一台服务器的不同虚拟机

http2.0与http1.1的区别

  1. 二进制协议 http2.0是一个完全二进制的协议,http1中请求体必须是文本,请求体可以使文本或二进制,在HTTP2中全是二进制
  2. 多路复用 http2.0 复用tcp链接,在一个链接上客户端或服务器可同时发送多个请求或响应,避免了队头阻塞问题。每个请求都是数据流,以数据流id的形式区分不同的数据流。
  3. 头信息压缩 http1.0是无状态的链接,因此请求头包含很多重复的信息。2.0中,对于头部信息会通过gzip或compress压缩后发送。另外,服务器和客户端会各自维持一张头部信息表,所有字段都会存入这张表,后面只需要发送表的索引好就信了
  4. 服务端推送。 http1 中, 请求只能由客户端发起,在2.0中可以由服务端主动推送给客户端资源,这里指的是静态资源,与websocket全双工通信发送的即时数据是有区别的

http2.0 与 http3.0的区别

  1. http3.0基于UDP,是没有队头组阻塞的多路复用(http2.0 基于tcp, 会出现丢包阻塞时等待重传,tcp重传分为超时重传和快速重传)
  2. 前向纠错,Forward Error Connection。每个包的除了包括自身内容之外,还包括其他包的内容,少量的丢包可以通过其他包的冗余数据直接组装而非重传。

http与https的区别

  1. 多了一层ssl层,对数据进行加密,在一定程度上保障了数据安全性;http是超文本协议,明文传输
  2. https默认端口是443,http默认端口是80
  3. https需要CA证书,费用高,http不需要
posted @   IslandZzzz  阅读(226)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示