爬虫你需要知道的:什么是http请求

1. 什么是http请求

我们将通过发送http请求来获取网页内容。http是HyperText Transfer Protocol的缩写,意思是超文本传输协议,它是一种客户端和服务器之间的请求响应协议。

浏览器就可以看作是一个客户端,当我们在浏览器地址栏输入想访问的网址,按下回车后,浏览器就会像服务端发送一个http请求,然后等待服务器返回给浏览器响应。

http有多种不同的请求方法,最常见的是getpost。由于爬虫程序大部分都是在获取数据,所以我们发送的请求大部分情况下都用get方法。

2. 一个完整的http请求组成

一个http请求由三个部分组成:

在这里插入图片描述

  • 请求行会包含方法类型、资源路径和协议版本等等

    资源路径指明了我们将要访问服务器的哪个资源,资源路径后方也可以添加查询参数。

    在这里插入图片描述

  • 请求头会包含一些给服务器的信息,比如Host、User-Agent、Accept等等

    Host 指主机域名,结合请求行里的路径资源,可以得到一个完整的网址。

    User-Agent 用来告知服务器客户端的相关信息,比如请求是浏览器发出来的还是其他东西发出来的如果是浏览器的话,类型是什么、版本是什么等等。

    Accept 是想告诉服务器客户端想接受的响应数据是什么类型的,接受多种类型的话,可以用逗号进行分隔,如果是*/*表示什么类型都可以。

  • 请求体里面可以放客户端传给服务器的其他任意数据,但是get方法的请求体一般是空的。

当服务端收到客户端传来的请求后,它会根据所有这些信息返回http响应,响应也由三个部分组成:

在这里插入图片描述

  • 状态行包含了协议版本、状态码、状态消息

    其中状态消息常见的有以下这些:

    在这里插入图片描述

  • 响应头会包含一些想要告知客户端的信息

    Date 是生成响应的日期和时间。

    Content-Type 返回内容的类型及编码格式。例如text/html;charset=utf-8 指响应类型是HTML,编码是utf-8。

  • 响应体里是服务端想要告知客户端的一些内容

    比如如果前面的内容类型是HTML,这里返回的就是HTML内容。


文章整理自:这绝对是全B站最用心(没有之一)的Python+爬虫公开课程

相关推荐

  1. “网络爬虫什么,他原理什么

    2024-01-11 06:08:06       33 阅读

最近更新

  1. 源码编译安装LAMP

    2024-01-11 06:08:06       0 阅读
  2. 网格化监控:Eureka与分布式服务网格的协同监控

    2024-01-11 06:08:06       1 阅读
  3. Tomcat异步请求实现原理和应用场景简介

    2024-01-11 06:08:06       1 阅读
  4. [Python学习篇] Python面向对象——类

    2024-01-11 06:08:06       1 阅读
  5. 每日一道算法题 LCR 150. 彩灯装饰记录 II

    2024-01-11 06:08:06       1 阅读
  6. Ubuntu 添加so库搜索路径

    2024-01-11 06:08:06       1 阅读

热门阅读

  1. 前端基础 keep-alive的使用(Vue)

    2024-01-11 06:08:06       43 阅读
  2. Awesome Mac:好用的Mac应用程序、软件以及工具

    2024-01-11 06:08:06       39 阅读
  3. Windows系统Copilot使用方案

    2024-01-11 06:08:06       65 阅读
  4. 如何用VsCode安装Copilot

    2024-01-11 06:08:06       40 阅读
  5. git 上传小知识

    2024-01-11 06:08:06       38 阅读
  6. 开源Vue3组件库

    2024-01-11 06:08:06       39 阅读
  7. Web前端篇——el-date-picker日期弹出框大小的修改

    2024-01-11 06:08:06       33 阅读
  8. 191. 位1的个数

    2024-01-11 06:08:06       45 阅读