• HTTP请求过程、浏览器开发者工具使用介绍、请求头与响应头(常见响应状态码)


    1 HTTP请求过程

    我们在浏览器中输入一个URL,回车之后便会在浏览器中观察到页面内容。实际上,这个过程是浏览器向网站所在的服务器发送了一个请求,网站服务器接收到这个请求后进行处理与解析,然后返回对应的响应

    响应中包含了页面的源代码等内容,浏览器再对其进行解析,便将网页内容呈现出来。

    查看源图像

    操作:

    1. 打开浏览器,打开开发者工具

    2. 访问百度网站。

    3. 点击Network,并查看相关内容条目

    4. 观察第一个网络请求。

    在这里插入图片描述

    我们可以看到Name,Status等七列内容,下面做简单解释。

    第一列 Name :请求的名称,一般会将URL 最后一部分内容当作名称

    第二列 Status :响应的状态码,显示为 200 代表响应是正常的 通过状态码,我们可以判断发送了请求之后是否得到了正常的响应 。

    第三列 Type: 请求的文档类型 。这里为 document ,代表我们这次请求的是 HTML 文档, 内容就是一些 HTML 代码。

    第四列 Initiator: 请求源。 用来标记请求是由哪个对象或进程发起的

    第五列 Size : 从服务器下载的文件和请求的资源大小。 如果是从缓存中取得的资源,则该列 会显示from cache。

    第六列 Time : 发起请求到获取响应所用的总时间

    第七列 Waterfall:网络请求的可视化瀑布流

    点击这个条目,我们可以看到更多的信息。

    在这里插入图片描述

    首先是General部分,Request URL为请求的URL,Request Method为请求的方法,Status Code为响应状态码,Remote Address为远程服务器的地址和端口,Referrer Policy为Referrer判别策略。

    再往下为Response Headers和Request Headers,这分别代表响应头和请求头。

    2 请求与响应

    2.1 请求

    常见的请求方法有两种:GET和POST

    1. GET请求

    在浏览器直接输入URL并回车,这便发起了一个GET请求,请求的参数会直接包含到URL里。

    例如我们在百度中搜索爬虫,这就是一个GET请求,具体链接如下:https://www.baidu.com/s?wd=python

    这里的wd后的参数就是我们要搜寻的内容。

    1. POST请求

    POST请求提交时大多在表单提交时发起。比如对于一个登录表单,输入用户名和密码之后,点击“登录“按钮,这通常会发起一个POST请求,其数据通常以表单的形式传输,而不会体现在URL中。

    其他请求方法总结

    在这里插入图片描述

    1. 常见请求头

    Host :用于指定被请求资源的Internet主机和端口号

    Connection (连接类型):关闭TCP连接;长连接(Keep-alive),默认情况
    Upgrade-Insecure-Requests (升级为HTTPS请求):下面补充http与https的区别

    🌟User-Agent (用户代理):标识请求的浏览器身份的,网站常用这个参数来分辨爬虫,详见相关链接

    🌟Referer (页面跳转处):referer的作用就是记录你在访问一个目标网站时,在访问前你的原网站的地址

    🌟Cookie (Cookies):这是网站为了辨别用户进行会话跟踪而存储在用户本地的数据。它的主要功能是维持当前访问会话

    2.2 响应
    1. 响应状态码
    类别说明
    1xxinformational (信息性状态码)接收的请求正在处理
    2xxsuccess(成功状态码)请求正常处理完毕
    3xxRedirection(重定向状态码)需要进行附加操作以完成请求
    4xxClient Error(客户端错误状态码)服务器无法处理请求
    5xxServer Error (服务器错误状态码)服务器处理请求出错

    常见响应状态码

    常见状态码说明
    200成功
    302跳转,新的url在响应的Location头中给出
    303浏览器对于POST的响应进行重定向至新的url
    307浏览器对于GET的响应重定向至新的url
    403资源不可用;服务器理解客户的请求,但拒绝处理它(没有权限)
    404找不到该页面
    500服务器内部错误
    503服务器由于维护或者负载过重未能应答,在响应中可能可能会携带Retry-After响应头;有可能是因为爬虫频繁访问url,使服务器忽视爬虫的请求,最终返回503响应状态码
    1. 响应头
    常见响应体说明
    Access-Control-Allow-Methods接收请求支持的方法
    Connection连接方式,一般为keep-alive,表示长连接
    Content-Encoding页面编码方式,这里是gzip,表示文档已被压缩为gzip格式,gzip压缩文档可以有效的减少html下载的时间
    Content-Type表示页面的MIME类型,MIME见http请求头解释
    Date响应时的时间
    Expires页面过期时间,过期后将不再缓存
    Keep-Alive这里表示长连接的超时时间
    Server表示服务器的信息,比如名称、版本号等
    Set-Cookie设置和页面关联的cookie
    1. 响应体

    在做爬虫时,我们主要通过响应体得到网页的源代码,JSON数据等,然后从中做相应内容的提取。

    在这里插入图片描述

  • 相关阅读:
    MD5退出历史舞台你知道吗?
    配电网调度vr虚拟仿真应用案例汇总
    FastAPI学习-27 使用@app.api_route() 设置多种请求方式
    AD9680配置与数据还原说明
    NodeJS 实战系列:个人开发者应该如何选购云服务
    理解Go中的数据类型
    静态Static 动态代码块 静态代码块 类加载
    UDS协议发展历史
    Ollydbg 调试软件常用方法之断点
    redis缓存设计与优化
  • 原文地址:https://blog.csdn.net/baidu_39621090/article/details/126703632