http1.0 和 http1.1 的区别?

http1.0 最早在1996使用,那个时候只是使用一些较为简单的网页上和网络请求上;

http1.1 在1999年广泛应用于现在的各大浏览器网络请求。

区别:

1、缓存处理

http1 的头部通过 if-modified-since,expires来作为缓存判断的标准

http1.1 则引入了更多的缓存控制策略 如 entity tag 等等 可共选择的缓存头

2、带宽优化和网络请求使用

http1 存在浪费带宽的情况,比如客户端只是需要某个对象的部分字段,服务器会将整个对象返回,并且不支持断点续传功能

http1.1 在头部引入了 range 头域,它允许请求资源的部分,返回码是206

3、错误通知管理

http1.1 新增了 24个错误状态响应码 如 409 请求的资源和当前资源的状态发生冲突 410 表示服务器上的某个资源将永久删除

4、host 头处理

http1 认为每台服务器都绑定一个唯一的IP地址,因此请求头并没有传递主机名,但是现在一台物理服务器上面可以存在多个虚拟主机,并且他们共享一个IP地址, 所以 http1.1 的请求信息和返回信息都支持host 头域,并且如果请求头中没有传入host 头域 就会报错 400 (badrequest)

5、长连接

http1.1 支持长连接 和流水线连接 , 在一个TCP 连接上可以传送多个http请求 ,减少建立连接和关闭连接的消耗和延迟

http1.1 默认开启 connection :keep-alive ,一定程度减少每次http请求都要创建连接的缺陷

你可能感兴趣的:(http1.0 和 http1.1 的区别?)