美文网首页
Http-版本区别

Http-版本区别

作者: zzq_nene | 来源:发表于2020-07-02 16:03 被阅读0次

1.HTTP 1.0

  • 请求与响应支持头域
  • 响应对象以一个响应状态行开始
  • 响应对象不只限于超文本
  • 开始支持客户端通过POST方法向Web服务器提交数据,支持GET、HEAD、POST方法
  • 支持长连接(但默认还是使用短连接),缓存机制,以及身份认证

2.HTTP 1.1

  • Persistent Connection(keepalive连接)
  • chunked编码传输
  • 字节范围请求
  • Pipelining(请求流水线)
  • 请求消息和响应消息都应支持Host头域
  • 新增了一批Request method
    HTTP1.1增加了OPTIONS,PUT, DELETE, TRACE, CONNECT方法
  • 缓存处理
    HTTP/1.1在1.0的基础上加入了一些cache的新特性,引入了实体标签,一般被称为e-tags,新增更为强大的Cache-Control头。

3.HTTP 2.0

  • 多路复用(二进制分帧)
    HTTP 2.0最大的特点: 不会改动HTTP 的语义,HTTP 方法、状态码、URI 及首部字段,等等这些核心概念上一如往常,却能致力于突破上一代标准的性能限制,改进传输性能,实现低延迟和高吞吐量。而之所以叫2.0,是在于新增的二进制分帧层。在二进制分帧层上, HTTP 2.0 会将所有传输的信息分割为更小的消息和帧,并对它们采用二进制格式的编码 ,其中HTTP1.x的首部信息会被封装到Headers帧,而我们的request body则封装到Data帧里面。
  • 头部压缩
    当一个客户端向相同服务器请求许多资源时,像来自同一个网页的图像,将会有大量的请求看上去几乎同样的,这就需要压缩技术对付这种几乎相同的信息。
  • 随时复位
    HTTP1.1一个缺点是当HTTP信息有一定长度大小数据传输时,你不能方便地随时停止它,中断TCP连接的代价是昂贵的。使用HTTP2的RST_STREAM将能方便停止一个信息传输,启动新的信息,在不中断连接的情况下提高带宽利用效率。
  • 服务器端推流: Server Push
    客户端请求一个资源X,服务器端判断也许客户端还需要资源Z,在无需事先询问客户端情况下将资源Z推送到客户端,客户端接受到后,可以缓存起来以备后用。
  • 优先权和依赖
    每个流都有自己的优先级别,会表明哪个流是最重要的,客户端会指定哪个流是最重要的,有一些依赖参数,这样一个流可以依赖另外一个流。优先级别可以在运行时动态改变,当用户滚动页面时,可以告诉浏览器哪个图像是最重要的,你也可以在一组流中进行优先筛选,能够突然抓住重点流。

1.0虽然增加了长连接,但是默认还是短连接。而1.1增加了keepalive连接特定,并且1.1还增加了其他的请求方法,比如options、put、delete等等,但是1.0只有get、head、post。
1.1增加了缓存处理,在1.0的基础上增加了一些cache的新特性,比如etag标签、cache-control标签
2.0增加了多路复用、头部压缩等。

在Http1.0中,客户端和服务器建立TCP连接之后,会在一次HTTP请求完成后断开,但是在Http1.1的版本中,针对这样的开销代价问题,把connection标准写进请求头,并且是默认开启的,这样TCP连接会维持一段时间,不会一个请求就结束。
所以在http1.1开始,一次的TCP连接可以对应多个请求,只要是在TCP维持的一段时间内,都可以再次发起http请求,而不需要进行TCP连接。
这样在TCP连接没有中断的情况下,去请求http接口刷新页面数据的时候,也不需要重新建立SSL连接

相关文章

  • Http-版本区别

    1.HTTP 1.0 请求与响应支持头域 响应对象以一个响应状态行开始 响应对象不只限于超文本 开始支持客户端通过...

  • TCP面向连接的本质

    HTTP-应用层协议: 1.0与1.1最大的区别在于,HTTP1.1可以支持长连接,头部加入:Connection...

  • http改为https

    http->https

  • get post 等 http

    GET与POST在请求头与请求体中的区别 - 浅然的专栏 - CSDN博客 HTTP-请求头与请求体 - Lea_...

  • 网络协议-HTTP

    HTTP-请求方法(8种) GET 、HEAD 、POST 、PUT 、DELETE 、CONNECT 、OPTI...

  • Git基础命令(二)

    查看版本库与工作区的区别 查看所有文件的区别,默认本地最新版本库 查看某个文件的区别,默认本地最新版本库 查看本地...

  • swift5.0消除导航栏Nav与标签栏tab下划线

    分系统版本,有点区别

  • 使用AFNetworking3.0实现Authorization

    最近开发使用了AFNetworking,用的是3.0版本,这个版本和以往的版本还是有较大的区别的,至于具体的区别欢...

  • HTTP-缓存

    HTTP 缓存机制一二三 ——文章来自公众号前端大全,是我见过目前说http缓存机制最通俗易懂的文章。在此分享给大...

  • HTTP-起源

    HTTP 和 WEB 对用户来说,通过 WEB 浏览器来访问 WEB 资源。 对 WEB 浏览器来说,通过 HTT...

网友评论

      本文标题:Http-版本区别

      本文链接:https://www.haomeiwen.com/subject/afisqktx.html