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 | 回显服务器收到的请求,一般用于测试或诊断 | 

















