作家
登录

HTTP协议入门

作者: 来源: 2017-05-26 11:06:29 阅读 我要评论

  1. Transfer-Encoding: chunked 

每个非空的数据块之前,会有一个16进制的数值,表示这个块的长度。最后是一个大年夜小为0的块,就表示本次回应的数据发送完了。下面是一个例子。

六、参考链接

  • Journey to HTTP/2, by Kamran Ahmed
  • HTTP, by Wikipedia
  • HTTP/1.0 Specification
  • HTTP/2 Specification 
  1. HTTP/1.1 200 OK 
  2.  
  3. Content-Type: text/plain 
  4.  
  5. Transfer-Encoding: chunked 
  6.  
  7.   
  8.  
  9. 25 
  10.  
  11. This is the data in the first chunk 
  12.  
  13.   
  14.  
  15. 1C 
  16.  
  17. and this is the second one 
  18.  
  19.   
  20.  
  21.  
  22. con 
  23.  
  24.   
  25.  
  26.  
  27. sequence 
  28.  
  29.   
  30.  
  31.  

3.5 其他功能

别的,客户端请求的头信息新增了Host字段,用来指定办事器的域名。

  1. Host: www.example.com 

有了Host字段,就可以将请求发往同一台办事器上的不合网站,为虚拟主机的鼓起打下了基本。

3.6 缺点

固然1.1版许可复竽暌姑TCP连接,然则同一个TCP连接琅绫擎,所有的数据通信是按次序进行的。办事器只有处理完一个回应,才会进行下一?回应。如果前面的回应特别慢,后面就话苄很多请求列队等着。这称为“队头堵塞”(Head-of-line blocking)。

为了避免这个问题,只有两种办法:一是削减请求数,二是同时多开持久连接。这导致了很多的网页优化技能,比如归并脚本和样式表、将图片嵌入CSS代码、域名分片(domain sharding)等等。如不雅HTTP协定设计得更好一些,这些额外的工作是可以避免的。

四、SPDY 协定

2009年,谷歌公开了自行研发的 SPDY 协定,重要解决 HTTP/1.1 效力不高的问题。

这个协定在Chrome浏览器上证实可行今后,就被算作 HTTP/2 的基本,重要特点都在 HTTP/2 之中获得持续。

五、HTTP/2

2015年,HTTP/2 宣布。它不叫 HTTP/2.0,是因为标准委员会不计算再宣布子版本了,下一?新版本将是 HTTP/3。

HTTP/1.1 版的头信息肯定是文本(ASCII编码),数据体可所以文本,也可所以二进制。HTTP/2 则是一个彻底的二进制协定,头信息和数据体都是二进制,并且统称为”帧”(frame):头信息帧和数据帧。

二进制协定的一个好处是,可以定义额外的帧。HTTP/2 定义了近十种帧,为将来的高等应用打好了基本。如不雅应用文本实现这种功能,解析数据将会变得异常麻烦,二进制解析则便利得多。

5.2 多工

HTTP/2 复竽暌姑TCP连接,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,并且不消按照次序一一对应,如许就避免了”队头堵塞”。

举例来说,在一个TCP连接琅绫擎,办事器同时收到了A要乞降B请求,于是先回应A请求,结不雅发明处理过程异常耗时,于是就发送A请求已经处理好的部分, 接着回应B请求,完成后,再发送A请求剩下的部分。

本文介绍 HTTP 协定的汗青演变和设计思路。

如许双向的、及时的通信,就叫做多工(Multiplexing)。

5.3 数据流

因为 HTTP/2 的数据包是不按次序发送的,同一个连接琅绫擎持续的数据包,可能属于不合的回应。是以,必须要对数据包做标记,指出它属于哪个回应。

数据流发送到一半的时刻,客户端和办事器都可以发送旌旗灯号(RST_STREAM帧),撤消这个数据流。1.1版撤瘦削据流的独一办法,就是封闭TCP连接。这就是说,HTTP/2 可以撤消某一次请求,同时包管TCP连接还打开着,可以被其他请求应用。

客户端还可以指定命据流的优先级。优先级越高,办事器就会越早回应。

5.4 头信息紧缩

HTTP 协定不带有状况,每次请求都必须附上所有信息。所以,请求的很多字段都是反复的,比如Cookie和User Agent,一模一样的内容,每次请求都必须附带,这会浪费很多带宽,也影响速度。

HTTP/2 对这一点做了优化,惹人了头信息紧缩机制(header compression)。一方面,头信息应用gzip或compress紧缩后再发送;另一方面,客户端和办事器同时保护一张头信息表,所有字段都邑存入这个表,生成一个索引号,今后就不二送同样字段了,只发送索引号,如许就进步速度了。


  推荐阅读

  智慧泵房让供水走上“云端”

近日,在百官街道阳光假日小区,记者见到二次供水聪明泵房。比起改革前的旧泵房,说其是聪明泵房名副其实。该泵房集成了聪明安防体系、智能供水设备、聪明治理平台、聪明保护治理等体系,大年夜大年夜进步了二次供水>>>详细阅读


本文标题:HTTP协议入门

地址:http://www.17bianji.com/lsqh/35446.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)