目录
目录
User-Agent与Referer
User-Agent
Referer
Cookie
HTTP报头(header)的结构是“键值对”结构,每个键值对占一行,键和值之间使用分号分隔。
报头的种类有很多,本次介绍几个重要的。
Host:表示请求对应的ip和端口。
Content-Length:表示body中的数据长度。
Content-Type:表示body中的数据类型。
一个请求,可能有body,也可能没有。如果有body,上述两个字段,必须存在。
如果没有body,上述两个字段,就不存在。
POST请求有body,通过空行找到body开始,通过Content-Length找到body的结束位置。解决粘包问题。通过Content-Type识别不同数据,浏览器/服务器有不同的处理方式。
User-Agent与Referer
User-Agent
表⽰浏览器/操作系统的属性,比如:
其中表示操作系统信息,Windows NT 表示windows的内核。Win64;x64表示64位操作系统。
表示浏览器信息。
UA里的信息主要是两部分:1)浏览器版本 2)操作系统版本
描述了用户,使用啥样的设备,打开你的网页。开发者可以根据UA判定用户的浏览器和系统是啥水平的。通过不同的版本信息,返回不同的页面。现在UA最主要的作用是用来区分当前的设备是电脑还是手机。
Referer
表示这个页面是从哪个页面跳转过来的。
如果是直接在地址栏输入url/直接点击收藏夹中的网站,此时Referer就是空的。
Cookie
Cookie 中存储了⼀个字符串,这个数据可能是客⼾端(⽹⻚)⾃⾏通过JS写⼊的,也可能来⾃于服务器 (服务器在HTTP响应的header中通过Set-Cookie字段给浏览器返回数据).往往可以通过这个字段实现"⾝份标识"的功能。
注:Cookie机制不是让网页随意访问硬盘,网页对于硬盘是没法直接读写的。浏览器对于硬盘操作,做了特殊的封装,相当于提供了一个/一组特殊的文件,只能往这个特殊文件里写,并且你写的内容,也必须是键值对(键和值都得是文本)。键和值都是用户自定义的。
Cookie就是浏览器提供给网页的一种能够持久化存储数据的机制。
Cookie怎么存的:按照不同的域名,分别存储在硬盘上的。不同域名之间cookie互不干扰。
Cookie从哪里来:从服务器来,服务器的HTTP响应header中可以填写Set-Cookie字段,就会带有一些键值对。
Cookie到哪里去:在后续请求中,通过HTTP请求的header中的Cookie字段,把消息传输给服务器。
能够使客户端存储一些必要的“配置”等信息,从而让服务器提供更多的“个性化的”服务。
以上,关于请求报头,希望对你有所帮助。