爬虫入门:(一)HTTP协议

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/MOU_IT/article/details/79979791

1、Request包含什么:

(1)Request Method:请求方式,如get、post、put、delete、head(只返回response对象的Res Headers)
(2)Request URL:请求URL,请求的统一资源定位符,访问网页时第一次请求是document请求,然后是解析其中的URL,然后发起script、png、gif、JPEG、video等请求
(3)Request Headers(请求头:用字典形式保存)
     User-Agent:HTTP客户端运行的浏览器类型的详细信息
    Accept:指定客户端能够接收的内容类型,内容类型中的先后次序表示客户端接收的先后次序。,比如text/html,application/xhtml+xml
     Accept-Encoding : 指定客户端浏览器可以支持的web服务器返回内容压缩编码类型。表示允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。而这里设置的就是客户端浏览器所能够支持的返回压缩格式。
     Accept-Language : 指定HTTP客户端浏览器用来展示返回信息所优先选择的语言。
     Connetion : 表示是否需要持久连接。如果web服务器端看到这里的值为“Keep-Alive”,或者看到请求使用的是HTTP 1.1(HTTP 1.1默认进行持久连接),它就可以利用持久连接的优点,当页面包含多个元素时(例如Applet,图片),显著地减少下载所需要的时间。
     Content-Type:显示此HTTP请求提交的内容类型。一般只有post提交时才需要设置该属性。
     Accept-Charset:浏览器可以接受的字符编码集。如Accept-Charset: gb2312
     Cookie : HTTP请求发送时,会把保存在该请求域名下的所有cookie值一起发送给web服务器。
     Host :请求的web服务器域名地址
     Referer:包含一个URL,用户从该URL代表的页面出发访问当前请求的页面
 (4)请求体
    get请求时不携带东西, put、delete、post请求时携带Form Data表单数据

2、Response包含什么:

(1)Status Code: 响应状态码如200、300、404、505等。
(2)Remote Address:远程的IP地址。
(3)Response Headers(响应头,用字典保存):
    date: 响应的时间
    Connetion : 连接状态(keep-alive等)
    expires:响应过期的日期和时间
    Set-Cookie : 设置Http Cookie,如Set-Cookie: UserID=JohnDoe; 
    Content-Type : 返回内容的MIME类型,Content-Type: text/html; charset=utf-8
    Content-Encoding :内容编码方式
    Content-Language:响应体的语言
    Content-Length:响应体的长度
    Transfer-Encoding:文件传输编码,如Transfer-Encoding:chunked
    Server :web服务器软件名称,Server: Apache/1.3.27 (Unix) (Red-Hat/Linux)
    Cache-Control:告诉所有的缓存机制是否可以缓存及哪种类型
(4)Response Body(响应体);
   包含很多URL,我们可以解析响应体,提取出URL,再次发起请求。响应体可以是html页面,也可以是json字符串。

阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页