美文网首页
HTTP数据流

HTTP数据流

作者: 一木两点 | 来源:发表于2018-05-16 20:34 被阅读8次

典型HTTP会话

在像 HTTP 这样的Client-Server(客户端-服务器)协议中,会话分为三个阶段:

  • 1.客户端建立一条 TCP 连接(如果传输层不是 TCP,也可以是其他适合的连接)。
  • 2.客户端发送请求并等待应答。
  • 3.服务器处理请求并送回应答,回应包括一个状态码和对应的数据。

从 HTTP/1.1 开始,连接在完成第三阶段后不再关闭,客户端可以再次发起新的请求。这意味着第二步和第三步可以连续进行数次。

(1)建立连接

通过TCP的三次握手进行连接;

(2)客户端发送请求

连接建立完成后,客户端就可以发送请求。典型的请求包括三部分:

1.第一行包括请求方法及请求参数:
文档路径,不包括协议和域名的绝对路径 URL

2.使用的 HTTP 协议版本
接下来的行每一行都表示一个 HTTP 首部,为服务器提供关于所需数据的信息(例如语言,或 MIME 类型),或是一些改变请求行为的数据(例如当数据已经被缓存,就不再应答)。这些 HTTP 首部组成以一个空行结束的一个块。

3.最后一块是可选数据块,包含更多数据,主要被 POST 方法所使用。

屏幕快照 2018-05-16 20.28.28.png

注意最后的空行,它把首部与数据块分隔开。由于在 HTTP 首部中没有 Content-Length,数据块是空的,所以服务器可以在收到代表首部结束的空行后就开始处理请求。

(3)服务器响应结构

1.第一行是 状态行
包括使用的 HTTP 协议版本,状态码和一个状态描述(可读描述文本)。

2.接下来每一行都表示一个 HTTP 首部

为客户端提供关于所发送数据的一些信息(如数据大小,使用的压缩算法,缓存指示)。与客户端请求的头部块类似,这些 HTTP 首部组成一个块,并以一个空行结束。

3.最后一块是数据块,包含了响应的数据 (如果有的话)。

屏幕快照 2018-05-16 20.33.58.png

相关文章

  • HTTP数据流

    典型HTTP会话 在像 HTTP 这样的Client-Server(客户端-服务器)协议中,会话分为三个阶段: 1...

  • http网络数据流

    1、http请求报文组成: 2、http响应报文: HTTP响应也由三个部分组成,分别是:状态行、消息报头、响应正...

  • 2018-09-13第二十四天

    2018-09-12BS架构请求数据流程 BS架构请求数据流程 1.浏览器通过form表单提交请求2.通过http...

  • [Netflix]打造万亿级别的数据流水线

    //打造万亿级别的数据流水线http://www.infoq.com/cn/presentations/creat...

  • gzip数据流

    gzip压缩的http数据流都包含 “Content-Encoding: gzip\r\n\r\n” ; 紧跟其后...

  • form-data、x-www-form-urlencoded、

    1、form-data: 能传输数据流(上传)的键值对。 就是http请求中的multipart/form-dat...

  • Soul网关的数据注册和同步数据流探究

    Soul网关的Http/SpringMvc 数据注册和同步数据流探究 Soul-Admin端数据的探究 首先启动客...

  • HTTP/2 的改进

    HTTP/2 仍是对之前 HTTP 标准的扩展,而非替代。 压缩标头字段 在同一连接上进行多个并发交换 为数据流设...

  • ng4.x http数据请求 --- 不用RxJS

    【此例通过Http、Jsonp请求数据 ---- 不用RxJS】 【RxJS:是一种针对异步数据流编程工具,或者叫...

  • ng4.x http数据请求 --- 使用RxJS

    【此例通过Http、Jsonp请求数据 ---- 使用RxJS】 【RxJS:是一种针对异步数据流编程工具,后者叫...

网友评论

      本文标题:HTTP数据流

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