zoukankan      html  css  js  c++  java
  • 2020-08-31:描述HTTP的版本之间的区别,主要是1.0/1.1/2.0三个版本的区别。

    福哥答案2020-08-31:

    HTTP1.0与HTTP1.1的主要区别
    1.长连接
    HTTP1.0:需要使用keep-alive参数来告知服务器端要建立一个长连接。
    HTTP1.1:默认支持长连接。
    2.消息传递
    HTTP1.0:允许即使有Body也不用Content-Length,可以用断开连接的方式表示Body结束。
    HTTP1.1:要求必须使用Content-Length或者chunk-encode。
    3.节约带宽
    HTTP1.0:不支持部分发送信息。
    HTTP1.1:①支持只发送header信息(不带任何body信息),如果服务器认为客户端有权限请求服务器,则返回100,否则返回401。客户端如果接收到100,才开始把请求body发送到服务器。这样当服务器返回401的时候,客户端就可以不用发送请求body了,节约了带宽。②另外还支持传送内容的一部分。这样当客户端已经有一部分的资源后,只需要跟服务器请求另外的部分资源即可。这是支持文件断点续传的基础。
    4.HOST域
    HTTP1.0:没有host域。
    HTTP1.1:支持这个参数。
    5.缓存处理
    HTTP1.0:无。
    HTTP1.1:添加更多的缓存控制策略(如:Entity tag,If-Match)。ETag头域。Cache-Control头域。Vary头域。
    6.错误提示
    HTTP1.0:只定义了16个状态响应码,对错误或警告的提示不够具体。
    HTTP1.1:引入了一个Warning头域,增加对错误或警告信息的描述。此外,新增了24个状态响应码,如409(Conflict)表示请求的资源与资源的当前状态发生冲突;410(Gone)表示服务器上的某个资源被永久性的删除。

    HTTP1.1与HTTP2.0的主要区别
    1.多路复用
    HTTP1.1:可以多建立几个TCP连接,来支持处理更多并发的请求,但是创建TCP连接本身也是有开销的。
    HTTP2.0:使用了多路复用的技术,做到同一个连接并发处理多个请求,而且并发请求的数量比HTTP1.1大了好几个数量级。
    TCP连接有一个预热和保护的过程,先检查数据是否传送成功,一旦成功过,则慢慢加大传输速度。因此对应瞬时并发的连接,服务器的响应就会变慢。所以最好能使用一个建立好的连接,并且这个连接可以支持瞬时并发的请求。
    2.二进制分帧
    HTTP1.1:无。
    HTTP2.0:应用层(HTTP/2)和传输层(TCP or UDP)之间增加一个二进制分帧层。
    3.首部压缩
    HTTP1.1:不支持header数据的压缩。
    HTTP2.0:使用HPACK算法对header的数据进行压缩,这样数据体积小了,在网络上传输就会更快。
    4.服务器推送
    HTTP1.1:Server Push 让HTTP1.x时代使用内嵌资源的优化手段变得没有意义。
    HTTP2.0:服务器可以对客户端的一个请求发送多个响应。
    ***
    [评论](https://user.qzone.qq.com/3182319461/blog/1598828478)

  • 相关阅读:
    Codeforces Round #279 (Div. 2) C. Hacking Cypher 机智的前缀和处理
    Codeforces Round #279 (Div. 2) A. Team Olympiad 水题
    Codeforces Round #279 (Div. 2) B
    利用Hog特征和SVM分类器进行行人检测
    opencv 支持向量机SVM分类器
    opencv hog算子
    NOIP 2008 传纸条 NOIP 2000 方块取数 多线程DP
    POJ 1654 Area 计算几何
    hihocoder #1015 KMP
    HDU 1722 Cake 数学题
  • 原文地址:https://www.cnblogs.com/waitmoon/p/13592216.html
Copyright © 2011-2022 走看看