14天学习训练营导师课程:
杨鑫《Python 自学编程基础》
杨鑫《 Python 网络爬虫基础》
杨鑫《 Scrapy 爬虫框架实战和项目管理》
文章目录
- 1.HTTP 请求报文
- 1.1 请求行
- 1.2 请求头
- 1.3 空行
- 1.4 请求正文
1.HTTP 请求报文
HTTP(Hyper Text Transfer Protocol,超文本传输协议)是万维网服务器将超文本传输 到本地浏览器的传送协议,基于 TCP/IP 通信协议来传递数据。HTTP 是无状态的,以此限 制每次连接只处理一个请求。服务器在处理完客户端请求,并接收到客户端的应答后,即断开连接,这种方式的好处是节省传输时间。
当然,如果想保持连接,可以在请求首部字段中添加请求头 Connection: keep-alive
,表 明使用持久连接,或者通过 Cookie 这类方式间接地保存用户之前的 HTTP 通信状态。
HTTP 请求报文由四部分组成,依次是请求行
、请求头
、空行
和请求正文
。下面依次 对这四部分进行介绍。
1.1 请求行
请求行它由请求方法、URL 和 HTTP 版本三个字段组成,使用空格进行分隔。
比如访问百度, 请求行
的内容为 如下。 HTTP/1.1 定义了八种请求方法,具体描述如表 1.1 所示
八种请求方法
方法 | 描述 |
---|---|
GET | 请求指定页面,并返回页面内容 |
POST | 一般用于提交表单或上传数据,数据被包含在请求体中 |
PUT | 客户端向服务器发送数据,以取代指定文档内容 |
DELETE | 请求服务器删除指定页面 |
CONNECT | HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器 |
HEAD | 类似于 GET 请求,只是返回的响应无具体内容,一般用于获取报头 |
OPTIONS | 允许客户端查看服务器的性能 |
TRACE | 回显服务器收到的请求,一般用于测试或诊断 |