-
-
Save lize240810/9f9b200ac419aaf245dfea39cfb0b3cd to your computer and use it in GitHub Desktop.
HTTP的头域包括通用头、请求头、响应头和实体头四部分。
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| **Accept**:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8 | |
| **含义**:告诉浏览器我们接受MIME的类型 | |
| --- | |
| **Accept-Encoding**:gzip, deflate, br | |
| **含义**:如果有这个字段,则代表客户端支持压缩将内容编码,去掉后会支持任意编码。 | |
| **注意**:爬虫时一般不要把它加上,博主最开始就是不懂全都复制过来,结果因为这个就是不好使卡住好长时间。 | |
| --- | |
| **Accept-Lanague**:zh-CN,zh;q=0.9 | |
| **含义**:告诉服务器能够接受的语言,没有则代表任何语言 | |
| --- | |
| **Connection**:keep-alive | |
| **含义**:告诉服务器需要持久有效的连接状态(HTTP1.1默认会进行持久连接) | |
| --- | |
| **Host**:www.baidu.com | |
| **含义**:客户端指定自己想访问的web服务器域名/IP地址和端口号 | |
| --- | |
| **Cache-control**:max-age=0 | |
| **含义**:(引自百度百科) | |
| Cache-Control 是最重要的规则。这个字段用于指定所有缓存机制在整个请求/响应链中必须服从的指令。这些指令指定用于阻止缓存对请求或响应造成不利干扰的行为。这些指令通常覆盖默认缓存算法。缓存指令是单向的,即请求中存在一个指令并不意味着响应中将存在同一个指令。 | |
| 网页的缓存是由HTTP消息头中的“Cache-control”来控制的,常见的取值有private、no-cache、max-age、must-revalidate等,默认为private。 | |
| 但是HTTP请求和响应的Cache-Control是不完全一样的。 | |
| 常见的请求Cache-Control取值有<no-cache>, <no-store>, <max-age>, <max-stale>, <min-fresh>, <only-if-cached>。 | |
| 响应的Cache-Control取值有<public>, <private>, <no-cache>, <no- store>, <no-transform>, <must-revalidate>, <proxy-revalidate>, <max-age>。 | |
| 我们这里主要介绍请求时的常见Cache-Control取值。 | |
| <1>max-age<=0 | |
| 本例中使用max-age=0,表示每次请求会访问服务器,通过Last-Modified来判断文件是否被修改,如果被修改,返回状态码200并得到最新文件,否则将返回304状态码并读取缓存文件。 | |
| <2>max-age>0 | |
| 表示会直接从浏览器提取缓存。 | |
| <3>no-cache | |
| 表示不会在浏览器缓存进行提取,而是强制的向服务器发出请求,这样可以保证客户端能够收到最权威的回应。 | |
| <4>no-store | |
| 所有内容都不会被缓存到缓存或Internet临时文件中。 | |
| --- | |
| **Upgrade-Insecure-Requests**:1 | |
| **含义**:表示浏览器/爬虫可以处理HTTPS协议,并能自动升级请求从HTTP到HTTPS。 | |
| --- | |
| **User-Agent**:Mozilla/5.0 (Windows NT 6.1; WOW64) ..Safari/537.36 | |
| **含义**:(这个是爬虫中最常用了)用于伪装成浏览器身份请求网页。它的意思自然就是表示浏览器的身份,说明是用的哪种浏览器进行的操作。 | |
| --- | |
| **Cookies**: | |
| **含义**:(这个也是爬虫中很重要的了,通常用于模拟登录) | |
| Cookies是用于维持服务端的会话状态,由服务器端写入,然后在后续请求中,供服务器读取使用。 | |
| --- | |
| 其它请求头字段信息 | |
| **Referer**: | |
| **含义**:(这个也是爬虫常用到的,防盗链) | |
| --- | |
| 客户端通过当前URL代表的页面出发访问我们请求的页面。爬虫中,一般我们只要把它设置成请求的网页链接就好了。 | |
| **Accept-Charset**: | |
| **含义**:(这个也是爬虫常用到的) | |
| 表示浏览器可接受的字符集,可以是utf-8,gbk等 | |
| --- | |
| **If-Modified-Since**:Thu, 10 Apr 2008 09:14:42 GMT | |
| **含义**:请求的内容在指定日期以后一旦被修改就被返回对象内容,否则返回“Not Modified” | |
| --- | |
| **Pragma**: | |
| **含义**: | |
| Pragma头域用来包含实现特定的指令,最常用的是Pragma:no-cache。在HTTP/1.1协议中,它的含义和Cache-Control:no-cache相同。 | |
| --- | |
| **Range**: | |
| **含义**:告诉浏览器自己想取对象的哪个部分。例如,Range: bytes=1173546 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment