前端网络---http协议演变

http协议的演变

什么是http协议?

HTTP 协议全称为 Hypertext Transfer Protocol,即超文本传输协议,是互联网上应用最为广泛的一种网络传输协议

http协议演变

1991年0.9版本-------1996年1.0版本-------1997年1.1版本--------2015年2版本-------2022年3版本

http/0.9特点

1、只支持GET请求

2、响应为HTML格式的文本

3、没有请求头响应头

http/1.0特点

1、HTTP/1.0支持多种HTTP方法,包括GET、POST、HEAD、PUT、DELETE等

2、增加了请求头和响应头

javascript 复制代码
// 请求头

accept:text/html   // 请求的文件类型
 
accept-encodeing: gzip,deflate  // 服务器采用的压缩方式
 
accept-charset: utf-8 // 文件的编码格式
 
accept-language:zh-CN,zh // 页面显示的语言 
javascript 复制代码
// 响应头

content-encoding :gzip // 服务器响应数据的压缩格式
 
content-type:text/html;charset=UTF-8  // 服务器响应的 数据类型 和 编码格式

3、引入了状态码

4、提供了 Cache 机制,用来缓存已经下载过的数据

5、服务器需要统计客户端的基础信息,比如windows1和macOS的用户数量分别是多少,所以HTTP/1.0的请求头还加入了用户代理字段。

http/1.0待改进的部分

1、每个请求都需要建立一个新的TCP连接,TCP是个重协议,这会导致很多的网络开销

2、HTTP/1.0没有处理并发请求的机制,这会导致浏览器需要等待前一个请求完成后才能发送下一个请求

http/1.1特点

1、在header中引入Connection: keep-alive,支持持久连接

2、支持管道化技术,它可以让浏览器同时发送多个请求,不用等待服务器返回。提高了并发性能。

3、头部信息是文本,数据部分可以是文本也可以是二进制

http/1.1待改进的部分

**1、**那就是队头堵塞,HTTP/1.1 所有的数据通信都是按次序完成的,服务器只有处理完一个请求,才会处理下一个请求,如果前面的请求处理特别慢,后面就会有很多请求排队等着,严重影响整个页面加载

http/2特点

1、HTTP/2版本的头部和数据部分都是二进制

2、减少头部信息数据大小,通过HPACK算法将头信息压缩后再发送

3、减少信息发送次数,客户端和服务端同时维护一张头信息表,所有字段都会存入这个表,以后请求只要发送不同字段即可,这样就提高速度了

4、支持多路复用,通过单一连接可以发送多个的请求-响应消息,不用按照顺序一一对应,这就避免了队头堵塞问题,每个请求或回应的所有数据包,称为一个数据流(stream),每个数据流都有一个独一无二的编号来区分。数据流的最小单位是帧,帧会组成消息数据包,多个消息数据包组成流,一个tcp连接里,可并发许多流。

5、http2支持服务端推送,即允许服务端未经请求,主动向客户端发送资源

http/2​​​​​​​待改进的部分

1、 解决了应用层面的队头阻塞问题,但是并没有解决TCP的队头阻塞

什么是TCP的队头阻塞?

采用HTTP/2时,浏览器一般会在单个TCP连接中创建并行的几十个乃至上百个传输。

如果HTTP/2连接双方的网络中有一个数据包丢失,或者任何一方的网络出现中断,整个TCP连接就会暂停,丢失的数据包需要被重新传输。因为TCP是一个按序传输的链条,因此如果其中一个点丢失了,链路上之后的内容就都需要等待。

相关推荐
网络研究院43 分钟前
如何安全地大规模部署 GenAI 应用程序
网络·人工智能·安全·ai·部署·观点
limengshi13839244 分钟前
通信工程学习:什么是RIP路由信息协议
网络·网络协议·学习·智能路由器·信息与通信
GodK7772 小时前
HTTPS 的加密流程
网络协议·http·https
limengshi1383925 小时前
通信工程学习:什么是TFTP简单文件传输协议
网络·网络协议·学习·信息与通信
麻辣韭菜7 小时前
网络基础 【HTTP】
网络·c++·http
Deryck_德瑞克8 小时前
Java网络通信—TCP
java·网络·tcp/ip
GodK7778 小时前
IP 数据包分包组包
服务器·网络·tcp/ip
梁诚斌8 小时前
VSOMEIP代码阅读整理(1) - 网卡状态监听
运维·服务器·网络
ZachOn1y9 小时前
计算机网络:计算机网络概述 —— 描述计算机网络的参数
网络·tcp/ip·计算机网络·考研必备
我命由我1234510 小时前
SSL 协议(HTTPS 协议的关键)
网络·经验分享·笔记·学习·https·ssl·学习方法