HTTP Request Response 总结

2018-08-23  本文已影响0人  没有颜色的菜

Request

我用 wireshark 工具分析了一个 HTTP 请求,可以看到大致的格式


Screenshot from 2018-08-22 10-22-13.png

其中HTTP的明文数据格式如下

GET URL HTTP/1.1\r\n   // 请求行
Host: www.cnblogs.com\r\n   // 请求头
Connection: keep-alive\r\n
Accept: application/json, text/javascript, */*; q=0.01\r\n
....
\r\n                                  // 空行
data                                // 如果是 POST,可能有请求数据

Accept-Encoding

可接受的数据内容格式,比如是 gzip,服务器收到后根据这个使用 gzip 压缩数据,并在 Content-Encoding 中表明数据格式,这样客户端就可以接收到这个信息

Content-Encoding

发送的数据内容格式,比如是 gzip,服务器收到后根据这个使用 gzip 解压数据

Response

我用 wireshark 工具分析了一个 HTTP 响应请求,可以看到大致的格式


Screenshot from 2018-08-22 10-15-26.png

其中HTTP的明文数据格式如下

HTTP/1.1 200 OK\r\n     // 响应行
Date: Wed, 22 Aug 2018 02:10:58 GMT\r\n    // 响应头
...
\r\n                              // 空行
File Data: 5 bytes       // 请求数据

Date

Example: Date: Tue, 15 Nov 1994 08:12:31 GMT
这个是属于服务器的时间,在RFC标准里面,服务器返回的数据中必须包含这个域,有三种情况除外

Some origin server implementations might not have a clock available.An origin server without a clock MUST NOT assign Expires or Last-Modified values to a response, unless these values were associated
with the resource by a system or user with a reliable clock. It MAY assign an Expires value that is known, at or before server configuration time, to be in the past (this allows "pre-expiration" of responses without storing separate Expires values for each resource).

上一篇 下一篇

猜你喜欢

热点阅读