HTTP请求报文头属性
以百度为例
GET /favicon.ico HTTP/1.1 Host: www.baidu.com Connection: keep-alive Pragma: no-cache Cache-Control: no-cache User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/84.0.4147.89 Safari/537.36 Accept: image/webp,image/apng,image/*,*/*;q=0.8 Sec-Fetch-Site: same-origin Sec-Fetch-Mode: no-cors Sec-Fetch-Dest: image Referer: https://www.baidu.com/ Accept-Encoding: gzip, deflate, br Accept-Language: en,zh-CN;q=0.9,zh;q=0.8 Cookie: BIDUPSID=A25EA168B55DD7B4FB0A6342CA748B8C; PSTM=1576809266; BD_UPN=12314753; BAIDUID=A25EA168B55DD7B457BA8613C76F2D5C:SL=0:NR=10:FG=1; sugstore=0; sug=3; ORIGIN=0; bdime=0; BDUSS=k0ODlSS09zUVFTenR5ZWVnd2ZrNE5wV3RGVTdJcFR1aWN3b3Y4Uzh5Y0lQTWRlSVFBQUFBJCQAAAAAAAAAAAEAAACuVu1KQ0pBbWF0ZXVyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAivn14Ir59eSj; COOKIE_SESSION=11537_0_9_6_7_50_1_1_9_7_99_0_0_0_30_0_1595386282_0_1595397789%7C9%230_0_1595397789%7C1; BDUSS_BFESS=k0ODlSS09zUVFTenR5ZWVnd2ZrNE5wV3RGVTdJcFR1aWN3b3Y4Uzh5Y0lQTWRlSVFBQUFBJCQAAAAAAAAAAAEAAACuVu1KQ0pBbWF0ZXVyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAivn14Ir59eSj; BD_HOME=1; delPer=0; BD_CK_SAM=1; PSINO=5; BDORZ=B490B5EBF6F3CD402E515D22BCDA1598; BDRCVFR[feWj1Vr5u3D]=I67x6TjHwwYf0; H_PS_645EC=6edcKRnz3eq3%2FGZkOSf6G1deQokMgt%2F%2BOIZog1%2Baj7nECxrvOXSSE0XyxwuA%2ByGVqan%2B; H_PS_PSSID=32288_1450_32359_32327_32045_31640_22157
1) HOST:将指出请求的目的地
2) Connetcion
3) prama
4) Cache-Control
对缓存进行控制,如一个请求希望响应返回的内容在客户端要被缓存一年,或不希望被缓存就可以通过这个报文头达到目的
6) User-Agent
服务器端和客户端脚本都能访问它,它是浏览器类型检测逻辑的重要基础.该信息由你的浏览器来定义,并且在每个请求中自动发送
7)Accept
请求报文可通过一个“Accept”报文头属性告诉服务端 客户端接受什么类型的响应。
如下报文头相当于告诉服务端,客户端能够接受的响应类型仅为纯文本数据
Accept:text/plain
Accept属性的值可以为一个或多个MIME类型的值(描述消息内容类型的因特网标准, 消息能包含文本、图像、音频、视频以及其他应用程序专用的数据)
8) Referer
表示这个请求是从哪个URL过来的,假如你通过百度搜索出一个商家的广告页面,你对这个广告页面感兴趣,鼠标一点发送一个请求报文到商家的网站,这个请求报文的Referer报文头属性值就是 https://www.baidu.com/
9) cookie
客户端的Cookie就是通过这个报文头属性传给服务端的,如下所示:
Cookie: $Version=1; jsessionid=5F4771183629C9834F8382E23
jsessionid就是用来判断当前用户对应于哪个session。换句话说服务器识别session的方法是通过jsessionid来告诉服务器该客户端的session在内存的什么地方。(当然也可以通过重写URL的方式将会话ID附带在每个URL的后面,在禁用cookie的时候可以用这个方法)。
Jsessionid只是tomcat的对sessionid的叫法,其实就是sessionid;在其它的容器也许就不叫jsessionid了。