Spider基础之http协议

2020-03-06  本文已影响0人  嗒嘀嗒嗒嘀嗒嘀嘀

学习自刘大拿的Python课程

1 HTTP简介

1.1 超文本 Hyper Text

1.2 URL

1.3 HTTP超文本传输协议

2 HTTP工作原理

2.1 请求/响应模型

http请求/响应模型

2.2 无状态性

记不住曾经访问过的机器

3 HTTP报文结构

3.1 请求/返回报文

请求/响应报文 请求报文示例

3.2 请求报文中的方法

方法 功能
GET 请求读取一个Web页面
POST 附加一个命名资源(如Web页面),给服务器发信息
DELETE 删除Web页面(比如用户注销)
CONNECT 用于代理服务器
HEAD 请求读取一个Web的首部
PUT 请求存储一个Web页面
TRACE 用于测试,要求服务器送回收到的请求,追踪
OPTION 查询特定选项

3.3 响应报文中的状态码

状态码 含义 已定义范围 例如
1xx 通知信息提示 100~101 100=服务器正在处理客户请求
2xx 成功 200~206 200=请求成功(OK),仅代表请求到,不应太乐观
3xx 重定向 300~305 301=页面改变了位置
4xx 客户端错误 400~415 401=未授权,需要输入用户名和密码(Unauthorized);403=禁止的页面;404=页面未找到
5xx 服务器错误 500~505 500=服务器内部错误;503=以后再试

3.4 首部字段或消息头

头(header) 类型 说明
User_Agent 请求 关于浏览器和它平台的信息,如Mozilla5.0 (爬虫时要将Python程序伪装成其他平台程序,防止反爬禁止Python,可编辑此选项改为其他平台程序)
Accept 请求 客户能处理的页面的类型,如text/html
Accept-Charset 请求 客户可以接受的字符集,如Unicode-1-1
Accept-Encoding 请求 客户能处理的页面编码方法,如gzip
Accept-Language 请求 客户端能处理的自然语言,如en(英语),zh-cn(简体中文)
Host 请求(必需) 服务器的DNS名。从URL中提取出来,确认主机连接正确
Authorization 请求 客户的信息凭据列表
Cookie 请求 将以前设置的Cookie送回服务器,可用来作为会话信息
Data 双向 信息被发送的时间和日期
Server 响应 关于服务器的信息,如Microsoft-IIS/6.0
Content-Encoding 响应 内容是如何被编码的(如gzip)
Content-Language 响应 页面所使用的自然语言
Content-Length 响应(很重要) 以字节计算的页面长度,要一致
Content-Type 响应 页面的MIME类型
Last-Modified 响应 页面最后被修改的时间和日期,在页面缓存机制中意义重大
Location 响应 指示客户将请求发送给别处,即重定向到另一个URL
Set-Cookie 响应 服务器希望客户保存一个Cookie
首部实力 描述
Date: Tue, 3Oct 1997 02:16:03 GMT 服务器产生响应的日期
Content-length: 15040 实体的主体部分包含了15 040字节的数据
Content-type: image/gif 实体的主体部分是一个GIF图片
Accept: image/gif, image/jpeg, text/html 客户端可以接收GIF图片和JPEG图片以及HTML

3.5 报文结构实例

请求和响应报文示例

浏览器界面点 F12 键可打开Web开发界面,可直接看 网络

4 HTTP代理

4.1 HTTP代理

代理服务器 http代理的Web访问流程
上一篇 下一篇

猜你喜欢

热点阅读