http包样例
GET /challenges HTTP/1.1
Host: buuoj.cn
User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Firefox/91.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2
Accept-Encoding: gzip, deflate
Connection: close
Cookie: lang=zh; UM_distinctid=17c6920009c4c4-0484f82a60e6f5-4c3e247b-144000-17c6920009d46e; CNZZDATA1279426740=1400125538-1633840595-%7C1634259883; session=cbd18350-b957-4cc3-8468-7ec1a93f07e4.BGi12Mw3izsagLq6tXC1MkfeWo8
Upgrade-Insecure-Requests: 1
请求方式:
第一行代表了访问的请求方式,http的请求方式有OPTIONS、GET、HEAD、POST、PUT、DELETE、TRACE和CONNECT,其中GET方式和POST方式是比较常用的请求方式。
GET:
请求获取Request-URI所标识的资源。
POST:
在Request-URI所标识的资源后附加新的数据。
HEAD:
请求获取由Request-URI所标识的资源的响应消息报头。
PUT:
请求服务器存储一个资源,并用Request-URI作为其标识。
DELETE:
请求服务器删除Request-URI所标识的资源。
TRACE:
请求服务器回送收到的请求信息,主要用于测试或诊断。
CONNECT:
保留将来使用。
OPTIONS:
请求查询服务器的性能,或者查询与资源相关的选项和需求。
参数含义:
Host:
指定请求资源的主机和端口号。HTTP/1.1请求必须指定Host,否则服务器会返回400状态码。
User-Agent:
客户端的浏览器信息。
Connection:
close表示使用短连接,Keep-Alive表示客户端支持持久连接。
Date:
消息产生的当前时间。
Accept-Language:
客户端支持的语言。
Cache-Control:
客户端是否支持cache。no-cache表示客户端不支持cache,如max-age=3600,告诉User Agent 该请求的响应结果在多长时间内有效,在有效期内,当用户再次需要访问时,直接从客户端本地提取,不需要访问服务器。
Referer:
Referer用以告诉服务器该请求来自于哪个URL,可以用追踪用户的WEB访问路径。
X-Forwarded-For
xff 是http的拓展头部,作用是使Web服务器获取访问用户的IP真实地址(可伪造)。由于很多用户通过代理服务器进行访问,服务器只能获取代理服务器的IP地址,而xff的作用在于记录用户的真实IP,以及代理服务器的IP。
If-Modified-Since:
如果请求消息包含If-Modified-Since标题 域,GET方法的语法就变成“条件GET”,即“(conditional GET)”。 条件GET方法可以对指定资源进行判断,如果它在If-Modified-Since标题域中的指定日期后发生了更新,才启动传输,否则不传输。这种条件 GET允许被缓存的实体在不必经过多次请求或不必要的数据传输就能进行刷新,从而有助于降低网络负载。
Last-Modified:
Sun, 03 Dec 2008 23:52:56 GMT
ETag:
“1cbf3-dfd-3a2adcd8″
一般应用在文件下载上,用于标识响应内容的最后修改时间或内容较验码,当下一次User agent需要时,服务首先判断这二个值是否跟服务器上一致,一样则不需要返回内容。
Expires:
该请求的响应结果在什么时间失效,在没有失效之前,代理可直接从缓存中返回以前的响应结果。