计算机网络2:HTTP1.0和HTTP1.1的区别

1. HTTP是什么

HTTP是客户端和服务器进行交互的通讯协议,什么意思呢?就是请求和响应的过程。

2.HTTP1.0和HTTP1.1的区别

(1)时间:
HTTP1.0是在1996年最早在网页上使用,HTTP1.1是在1999年开始广泛应用
(2)缓存处理:

HTTP1.0:主要在请求头中使用If-Modified-Since(IMS)、Expires来作为缓存判断的标准
HTTP1.1:引入更多的缓存控制机制,Entity tag,If-Unmodified-Since,If-Match,If-None_Match等缓存策略
(3)带宽优化及网络连接的使用:
HTTP1.0:存在浪费带宽的现象,例如客户端只是需要某个对象的一部分,而服务器却将整个对象送了过来,不支持断点续传
HTTP1.1:处理更加灵活,在请求头中引入了range头域,允许只请求资源的某个部分,状态码是206(Partial Content),这样就方便了开发者自由选择以便于充分利用带宽和连接
(4)断点续传
HTTP1.0:不支持断点续传,如果请求被中断,则必须重新再次发送,对于大文件的下载和传输不友好,尤其是在网络不好的情况下
HTTP1.1:支持断点续传,利用HTTP消息头使用分块传输编码,将实体主体分块传输。垮掉了还能捡起来,很棒
(5)错误通知的管理
HTTP1.1中新增了24个错误码,如409-请求的资源与资源的当前状态发生冲突;410-服务器上的某个资源被永久删除了
(6)Host头处理:
HTTP1.0:认为每台服务器都绑定唯一的IP地址,因此请求消息的URL中并没有传递主机名
HTTP1.1:随着虚拟机技术的发展,一台物理服务器上可以存在多个虚拟主机,并且共享一个IP地址,这就需要我们在请求时指明是那台主机了。所以HTTP1.1的请求消息和响应消息都应支持Host头域,如果请求消息中没有Host头域,会报错(400)
(7)长连接
HTTP1.0:短连接,每次请求都会重新建立连接
计算机网络2:HTTP1.0和HTTP1.1的区别
HTTP1.1:长连接和请求的流水线。只要客户端或服务器端任意一端没有明确提出断开TCP连接。就一直保持连接,所以一次连接可以发送多个HTTP请求和响应。减少了建立和关闭连接的消耗和延迟,默认开启Connection:keep-alive

3.名词解释

1.If-Modified-Since(IMS)、Expires

IMS:浏览器第一次请求时,,服务器响应的响应头中会携带一个Last-Modified用来记录最后一次的修改时间并告知浏览器。之后当浏览器再次请求时,会携带一个IMS的请求头,把上次服务器告诉它的文件最后修改时间返回到服务器端了。
如果文件没有动过,服务器会返回304,不会发送页面。
如果两边时间不一致,就是文件被改动了,服务器就响应200,并发送新的页面内容
Expires:设置缓存过期时间
2.If-None-Match,Etag
计算机网络2:HTTP1.0和HTTP1.1的区别

3.If-Unmodified-Since
计算机网络2:HTTP1.0和HTTP1.1的区别
参考文章
https://www.cnblogs.com/moxiaotao/p/9670109.html

猜你喜欢

转载自blog.51cto.com/14234228/2490237