zoukankan      html  css  js  c++  java
  • HTTP1.0/1.1/2.0的区别

    一、http 1.0 与 1.1

    1.0在网页中的使用是在1996年,而1.1却在才开始应用在广大浏览器的网络请求中。

    1.缓存处理,1.0中主要通过请求头中的If-Modified-Since,Expires来做为缓存判断的标准,而在1.1中则引入了更多的缓存控制策略如Enity tag,if-unmodified-since,if-match等更多可控制的缓存头来控制缓存策略。

    2.网络链接使用的优化。在1.0中,很多用户请求的只是某个对象的一部分,服务器却将整个用户回传,并且不支持断电传输的功能,导致资源浪费,而在1.1中设置了range头域,它允许只请求资源的某个部分,及返回码为206。

    3.错误通知的处理,在1.1中新添加了24个错误状态的响应码如409表示请求资源与资源当前的状态发生冲突,410表示某个资源并永久的删除。

    4.在1.1中支持长连接和请求的流水线(pipelining)默认开启了connection:keep-alive,即一次tcp链接中可以处理多个请求,而在1.0中每一个请求就要开启一次tcp链接,十分浪费资源。

    二、http2.0比http1.x的优化

    1.新的二进制解析格式,http1.x中解析是基于文本的,而文本的表现形式多种多样,要做到健壮性必然要考虑很多东西,而二进制则只包括0和1,基于二进制解析的话方便且健壮。

    2.多路复用(multiplexing)连接共享,即每一个requests都是用作链接共享机制的。一个request对应一个id,这样一个连接上有多个request,每个连接的request可以随机的混杂在一起,接收方根据他们的id将他们归属到不同的服务器端里面。即http2中多个请求可以在一个连接上并行执行。

    3.header压缩,使用encoder来减少需要传输的header的大小。

  • 相关阅读:
    js中的replace 回车符
    HttpHandler 读取Session
    [原]vs2005 修改新增文件时的默认编码方式
    系统托盘NotifyIcon控件及右键菜单功能
    addAttribute
    gpibCmd
    deviceFactory
    string is
    TitledMotorEntry TitledFrame MotorViewEntry TitleMotorEntry
    IOC port
  • 原文地址:https://www.cnblogs.com/zllovellyo/p/12558741.html
Copyright © 2011-2022 走看看