学习笔记,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中状态码系统就已经完善了

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


至此,借宿后

相关推荐
番薯大佬10 分钟前
Python学习-day9 字典Dictionary
网络·python·学习
一位搞嵌入式的 genius10 分钟前
前端开发核心技术与工具全解析:从构建工具到实时通信
前端·笔记
..过云雨21 分钟前
04.【Linux系统编程】基础开发工具2(makefile、进度条程序实现、版本控制器Git、调试器gdb/cgdb的使用)
linux·笔记·学习
渡我白衣40 分钟前
Linux网络:应用层协议http
linux·网络·http
理想国的女研究僧1 小时前
Jupyter Notebook操作指南(1)
ide·python·学习·jupyter
月屯1 小时前
docke笔记下篇
笔记
GilgameshJSS1 小时前
【学习K230-例程19】GT6700-TCP-Client
网络·python·网络协议·学习·tcp/ip
悠悠~飘2 小时前
php学习(第五天)
学习·php
能不能别报错2 小时前
K8s学习笔记(二):Pod
笔记·学习·kubernetes
呱呱巨基3 小时前
C/C++ 内存管理
c++·笔记·学习