文章目录
HTTP 协议
协议:就是两个计算机之间为了能够流畅的进行沟通而设置的一个君子协定。常见的协议有 TCP/IP, SOAP 协议,HTTP 协议,SMTP 协议等等......
HTTP 协议,Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。直白点儿,就是浏览器和服务器之间的数据交互遵守的就是 HTTP 协议。
HTTP 协议把一条消息分为三大块内容。无论是请求还是响应都是三块内容
请求
- 请求行 -> 请求方式 (get/post) 请求 url 地址 协议
- 请求头 -> 放一些服务器要使用的附加信息
- 空白, 用于分割
- 请求体 -> 一般放一些请求参数
响应
- 状态行: 协议, 状态码 (200, 302, 404, 500)
- 响应头: 放一些客户端要使用的一些附加信息
- 空白, 用于分割
- 响应体: 服务区返回的真正客户端要用的内容(HTML, json)等
请求头中最常见的一些重要内容 (爬虫需要):
- User‑Agent:请求载体的身份标识 (用啥发送的请求)
- Referer: 防盗链 (这次请求是从哪个页面来的?反爬会用到)
- cookie: 本地字符串数据信息 (用户登录信息,反爬的 token)
响应头中一些重要的内容:
- cookie: 本地字符串数据信息 (用户登录信息,反爬的 token)
- 其他字符串 (一般是 token 字样,防止各种攻击和反爬)
请求方式:
GET: 显示提交
POST: 隐示提交
- User‑Agent:告诉服务器,我是什么浏览器 / 设备,爬虫不加 UA 很容易被识别拦截。
- Referer:记录你是从哪个页面跳转过来,部分网站用来做防盗链校验。
- Cookie:保存在本地,携带登录状态、校验令牌;服务器响应头会下发 cookie,后续请求头带上它。
- GET:参数拼在 URL 地址栏上,看得见;
- POST:参数放在请求体里面,URL 看不到参数。