HTTP1.1与HTTP1.0的区别

本文对比了HTTP1.0和HTTP1.1的主要特性,着重介绍了HTTP1.1如何通过持久连接减少建立和关闭连接的消耗,支持Host请求头字段以实现虚拟站点,以及提供与身份认证、状态管理和Cache缓存机制相关的请求头和响应头。

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

     HTTP1.0规定浏览器和服务器只保持短暂的连接,浏览器的每次请求都需要与服务器建立一个TCP连接,服务器完成请求后立刻断开TCP连接,服务器不跟踪每个客户也不记录过去的请求。

     

    图1 HTTP1.0中TCP需要建立多次连接

如上图,如果浏览器访问一个网页需要加载3个图片文件和一个网页文档,则需要多次的请求和相应,每次请求和相应都需要建立一个单独的连接,每次连接只是传输一个文档或图像,上一次和下一次的请求完全分离。

所以这是HTTP1.0的一个明显的缺陷。


为了克服HTTP1.0的这个缺陷,HTTP1.1支持持久连接,在一个TCP连接上可以传送多个HTTP请求和响应,减少了建立和关闭连接的消耗和延迟。一个包含有许多图像的网页文件的多个请求和响应可以在一个连接中传输,但每个单独的网页文件的请求和响应仍需要使用各自的连接。HTTP1.1允许客户端不用等待上一次请求结果放回,就可以发出下一次请求,但服务器端必须按照接收到客户端请求的先后顺序依次返回响应结果,以保证客户端能够区分每次请求的响应内容,这样也显著地减少了整个下载过程所需的时间。如下图所示


图2 HTTP1.1 协议的客户端和服务器的信息交换过程

HTTP1.0不支持Host请求头字段,WEB浏览器无法使用主机头名来明确表示访问服务器上那个WEB站点,这样无法使用WEB服务器在同一个IP地址和端口号上配置多个虚拟WEB站点。

HTTP1.1中增加Host请求头字段,WEB浏览器可以使用主机头名来明确表示要访问服务器上的哪个WEB站点,这才实现了一台WEB服务器上可以在同一IP地址和端口号上使用不同的主机名来创建多个虚拟WEB站点。connection请求头的值为keep-alive,客户端通知服务器返回本次请求结果后保持连接;connection请求头的值为close时,客户端通知服务器返回本次请求结果后关闭连接。

HTTP1.1还提供了与身份认证、状态管理和Cache缓存机制相关的请求头和响应头。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值