HTTP请求过程——Chrome浏览器Network详解

时间:2024-03-29 07:01:59

HTTP请求过程——Chrome浏览器Network详解

当我们使用Python进行爬虫的时候,其实就是一个模拟的资源访问返回过程,使用第三方库用目的url向所在的服务器发出请求,网站的服务器接收到这个请求后进行处理和分析,然后返回响应。响应中包含了页面的源代码等内容,然后我们在对次进行解析和处理,从中得到我们想要的信息。

每个网站根据自己所展示的内容的不同,会有不同级别的反爬手段,我们就要对此进行分析,才能正确的得到自己想要的返回相应,为了更直观的说明这个过程,使用Chrome浏览器的Network监听组件来进行分析。

打开Chrome 浏览器,快捷键F12即可打开浏览器的开发者工具。这里访问百度,观察这个过程中发生了怎样的网络请求。在Network页面下方出现了一个个的条目,其中一个条目就代表一次发送请求和接收响应的过程。
HTTP请求过程——Chrome浏览器Network详解
Name:请求名称
Status:响应状态码。200为响应成功,这个可以判断请求是否的到了正常响应
Type:请求文档类型。document即为一个HTML文档,即HTML代码
Initiator:请求源。用来标记请求是由哪个对象或进程发起的
Size:从服务器下载的文件和请求资源的大小。如果是从缓存中得到的资源,则为from cache
Time:发起请求到获得响应的总时间
Waterfall:网络请求的可视化瀑布流

点开第一个请求的详细信息。

返回头:
HTTP请求过程——Chrome浏览器Network详解
General部分:
Request URL:请求的URL
Request Method:请求使用的方法
Status Code:响应状态码
Remote Address:远程服务器的地址和端口
Reffer Policy:Referrer判别策略

请求头:
HTTP请求过程——Chrome浏览器Network详解
Accept:请求报头域,用于指定客户端可接受哪些信息类型
Accept-Encoding:指定客户端可接受的语言类型
Accept-Language:指定客户端可接受的内容编码
Host:指定请求资源的主机IP和端口号,其为请求URL的原始服务器或网关的位置
Cookie:网站为了辨别用户进行会话跟踪而储存在用户本地的数据。主要功能是维持当前访问会话。(非常重要!!!)
Referer:用来标识这个请求是从哪个网页过来的。服务器拿到这一信息并做相应的处理,如来源统计,防盗链等
User-Agent:一个特殊的字符串头,可以使服务器识别客户使用的操作系统及版本等信息。在做爬虫时一定要加上此信息
Content-Type:互联网媒体类型,在HHTP协议消息中,用来表示具体请求中的媒体信息类型

以上说明了最重要的…

相应头:
HTTP请求过程——Chrome浏览器Network详解
Date:标识产生响应的时间
Content-Encoding:指定响应内容编码
Server:包含服务器信息,如名称,版本号等
Content-Type:文档类型,指出返回的数据类型是什么。如此处的text/html代表返回的是HTML代码
Set-Cookie:设置Cookies。响应头中的Set-Cookie告诉浏览器要将此内容放在Cookies中,下次请求携带Cookies请求
Expires:指定响应过期时间,可以使代理服务器将加载的内容更新到缓存当中。如果再次访问,就可直接从缓存中加载,降低服务器的负载,缩短加载时间。

以上说明了最重要的…

一个HTTP请求包括了请求方法,请求网址,请求头,请求体,在爬虫的时候做重要的是做好请求头的伪装,要会看其网页返回的请求头,来分析其反爬,设置相应的请求头。之后就是响应体,从中我感觉最重要的是知道网页返回的内容的格式,从而来选择响应的第三方库来进行解析。

在请求头的设置中我感觉只要设置了User-Agent,Cookies,Referer,Accept便可应对绝大部分网页的反爬。

看到的兄弟可以在评论中分享一下自己在设置请求头时候的经验
HTTP请求过程——Chrome浏览器Network详解