HTTP1.0,1.1,2.0

本文介绍了HTTP从1.0到2.0的演进历程。包括HTTP/1.0的短暂连接方式及其效率问题,HTTP/1.1引入的持久连接和管道机制改进,以及HTTP/2.0通过多路复用、二进制分帧等方式大幅提升性能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

HTTP/1.0


1996年5月,HTTP/1.0 版本发布,为了提高系统的效率,HTTP/1.0规定浏览器与服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求处理后立即断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

这种方式就好像我们打电话的时候,只能说一件事儿一样,说完之后就要挂断,想要说另外一件事儿的时候就要重新拨打电话。

HTTP/1.0中浏览器与服务器只保持短暂的连接,连接无法复用。也就是说每个TCP连接只能发送一个请求。发送数据完毕,连接就关闭,如果还要请求其他资源,就必须再新建一个连接。

我们知道TCP连接的建立需要三次握手,是很耗费时间的一个过程。所以,HTTP/1.0版本的性能比较差。

HTTP/1.1


为了解决HTTP/1.0存在的缺陷,HTTP/1.1于1999年诞生。相比较于HTTP/1.0来说,最主要的改进就是引入了持久连接。所谓的持久连接即TCP连接默认不关闭,可以被多个请求复用。

由于之前打一次电话只能说一件事儿,效率很低。后来人们提出一种想法,就是电话打完之后,先不直接挂断,而是持续一小段时间,这一小段时间内,如果还有事情沟通可以再次进行沟通。

客户端和服务器发现对方一段时间没有活动,就可以主动关闭连接。或者客户端在最后一个请求时,主动告诉服务端要关闭连接。

HTTP/1.1版还引入了管道机制(pipelining),即在同一个TCP连接里面,客户端可以同时发送多个请求。这样就进一步改进了HTTP协议的效率。

有了持久连接和管道,大大的提升了HTTP的效率。但是服务端还是顺序执行的,效率还有提升的空间

 

HTTP/2.0


HTTP/2 是 HTTP 协议自 1999 年 HTTP 1.1 发布后的首个更新,主要基于 SPDY 协议。

HTTP/2 为了解决HTTP/1.1中仍然存在的效率问题,HTTP/2 采用了多路复用。即在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。能这样做有一个前提,就是HTTP/2进行了二进制分帧,即 HTTP/2 会将所有传输的信息分割为更小的消息和帧(frame),并对它们采用二进制格式的编码。

也就是说,老板可以同时下达多个命令,员工也可以收到了A请求和B请求,于是先回应A请求,结果发现处理过程非常耗时,于是就发送A请求已经处理好的部分, 接着回应B请求,完成后,再发送A请求剩下的部分。A请求的两部分响应在组合到一起发给老板。

而这个负责拆分、组装请求和二进制帧的一层就叫做二进制分帧层。

除此之外,还有一些其他的优化,比如做Header压缩、服务端推送等。

Header压缩就是压缩老板和员工之间的对话。

服务端推送就是员工事先把一些老板可能询问的事情提现发送到老板的手机(缓存)上。这样老板想要知道的时候就可以直接读取短信(缓存)了。

目前,主流的HTTP协议还是HTTP/1.1 和 HTTP/2。并且各大网站的HTTP/2的使用率也在逐年增加。
 

尽管提供了关于HTTP协议及其改进的相关引用[^1],但这些内容主要涉及的是HTTP的不同版本特性而非HTML。以下是有关HTML 1.01.1 和 2.0 的差异和特性的详细介绍。 ### HTML 版本概述 #### ### HTML 1.0 HTML 1.0 是最早的HTML标准之一,主要用于定义基本的文档结构和简单的标记功能。它支持有限数量的标签,例如 `<h1>` 到 `<h6>` 来表示标题级别以及 `<p>` 表示段落等基础元素。然而,这一版本缺乏对表格、框架以及其他复杂布局的支持[^4]。 #### ### HTML 1.1 随着Web技术的发展,W3C 发布了HTML 1.1作为其前身的一个修订版。虽然这个版本并未广泛采用,但它引入了一些重要的概念和技术调整,比如更精确地描述图像如何嵌入到网页中的方法——通过`<img>`标签属性进一步标准化处理方式[^5]。 #### ### HTML 2.0 作为首个被正式认定为国际标准(ISO/IEC 9596:1998) 的HTML版本,HTML 2.0 提供了一个更加全面的基础集来构建网站。此版本增加了许多新特性,包括表单控件(如 `<input>`, `<textarea>`, 和 `<select>`)、列表项(有序列表 `<ol>` 及无序列表 `<ul>`),还有链接目标窗口设置等功能。此外,在跨平台兼容性和可访问性方面也有所增强[^6]。 ### 性能提升对比 (基于类似网络传输优化思路) 值得注意的是,尽管上述讨论集中在HTML本身的变化上,但如果考虑类似于从HTTP各代间所见的那种性能进步,则可以推测未来可能的方向会涉及到减少页面加载时间的技术革新。例如,正如HTTP/1.1引入管道机制(pipelining)[^3]提高了数据流效率一样,未来的HTML也可能朝着集成更多动态交互能力和预取资源策略发展以改善用户体验。 ```html <!-- 示例代码展示早期HTML形式 --> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <html> <head><title>Example</title></head> <body> <h1>Hello World!</h1> <p>This is an example paragraph.</p> <form action="/submit_form" method="post"> Name:<br> <input type="text" name="name"><br> Comment:<br> <textarea rows="5" cols="40"></textarea><br> <input type="submit" value="Submit"> </form> </body> </html> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黑化草莓熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值