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

文章目录

  • 前言
  • [http 1.1与http 1.0](#http 1.1与http 1.0)
  • [http 2.0 与http 1.x](#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------密码学概述

第一篇文章指出,tsl协议基于ssl协议3.0,可以简单理解为ssl协议的升级版

根据第二篇参考文章说,ssl协议不推荐使用

注意点

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

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


至此,借宿后

相关推荐
阿达和自己1 小时前
springboot学习-springboot引入MyBatis-Plus
spring boot·学习·mybatis
旖旎夜光2 小时前
【C++ 基础入门】C++11 新特性(中):右值引用、移动语义与完美转发
开发语言·c++·笔记·学习
星恒随风12 小时前
MySQL 从零入门(五):MySQL 内置函数详解——日期、字符串、数学函数与实战案例
linux·数据库·笔记·sql·mysql
§ꦿCFོ༉13 小时前
嵌入式八股文—C语言入门学习(四)
c语言·开发语言·学习
2603_9696948515 小时前
【JavaWeb学习记录】MyBatis核心知识点与实战笔记:从入门到动态SQL
笔记·sql·学习·mysql·mybatis·javaweb·学习方法
可乐ea15 小时前
智能体记忆该拆成几层:笔记、记忆表示与注入上下文
服务器·数据库·笔记·ai智能体·提示词工程·上下文工程·记忆系统
Go Work19 小时前
两个等值条件摆着,MySQL 偏要全表扫
经验分享·笔记
Oll Correct19 小时前
Adobe illustrator 案例十四:花元素标志草图绘制
笔记·ui·adobe·illustrator
北京云帆互联科技21 小时前
云帆培训考试系统更新说明:v9.3.0
java·学习
sxlishaobin1 天前
Maven Setting详解
java·学习·maven