爬虫入门:(一)HTTP协议

本文详细介绍了HTTP请求和响应的基本组成。请求部分包括请求方法、URL、请求头和请求体,响应部分则涵盖状态码、响应头和响应体。特别强调了请求头中的User-Agent、Cookie等字段以及响应头中的Set-Cookie、Content-Type等字段的作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值