响应状态码表示服务器的响应状态,在爬虫开发过程中,向服务器发送一个请求,服务器会根据用户的请求返回相应的响应,响应分为三类:响应状态码、响应头和响应体。
在爬虫开发过程中,可以根据服务器返回的响应状态码来判断服务器时候成功返回了你想要的内容,如返回(200),还是请求出错,页面找不到(404),又或者是服务器识破了你的爬虫,封禁了你的爬虫(500)。爬虫开发者可以根据这些返回的响应状态码来快速纠错,提高纠错能力。
其实不管是在爬虫开发过程中,还是日常的网页开发,客户端开发,包括运维,知道特定状态码所代表的含义,对排除bug、故障都有很大的帮助。
(ps:大神请忽略此段废话)
~~ 华丽的分割线 ~~
下面几张表给出了常见的100、200、300、400、500系的响应状态码所代表的含义
1.状态码:100~
状态码 | 说明 | 详情 |
---|---|---|
100 | 继续 | 请求者应当继续提出请求,服务器已经收到请求的一部分,正在等待其余部分 |
101 | 切换协议 | 请求者已要求服务器切换协议,服务器已确认并准备切换 |
2.状态码:200~
状态码 | 说明 | 详情 |
---|---|---|
200 | 成功 | 服务器已经成功处理了请求 |
201 | 已创建 | 请求成功并且服务器创建了新的资源 |
202 | 已接受 | 服务器已接受请求,但尚未处理 |
203 | 非授权信息 | 服务器已经成功处理了请求,但返回的信息可能来自另一个源 |
204 | 无内容 | 服务器成功处理了请求,但没有返回任何内容 |
205 | 重置内容 | 服务器成功处理了请求,内容被重置 |
206 | 部分内容 | 服务器成功处理了部分请求 |
3.状态码:300~
状态码 | 说明 | 详情 |
---|---|---|
300 | 客户请求的文档可以再多个位置找到 | |
301 | 客户请求的文档在其他地方 | 新的URL在Location头中给出 |
302 | 类似301 | |
303 | 同上 | |
304 | 客户端有缓冲的文档并发送一个条件性请求 | |
305 | 客户请求的文档应该通过Location头所指明的代理服务器提取 | |
307 | 同302 |
4.状态码:400~
状态码 | 说明 | 详情 |
---|---|---|
400 | 请求出现语法错误 | |
401 | 客户视图未经授权访问受密码保护的页面 | |
403 | 资源不可用 | 服务器get到了你发送的请求,但是拒绝处理 |
404 | 无法找打页面 | 也就是无法找到指定位置的资源,一般是URL输入错误导致 |
405 | 请求方法不适用 | 如GET、POST等 |
406 | Not Acceptable | 指定的资源已经找到,但它的MIME类型和客户在Accept头中所指定的不兼容 |
407 | 类似401 | |
408 | 请求过期 | 在服务器许可的等待时间内,客户端一直没有发出任何请求 |
409 | 请求冲突 | |
410 | 请求的资源已经不可用 | |
411 | 服务器不能处理该请求 | |
412 | 请求头中指定的一些前提条件失败 | |
413 | 目标文档大小超过服务器允许的大小 | |
414 | URL过长 | |
415 | 服务器无法处理请求附带的媒体格式 | |
416 | 服务器不能满足客户在请求中指定的Range头 |
5.状态码:500~
状态码 | 说明 | 详情 |
---|---|---|
500 | 服务器遇到情况,满足请求 | |
501 | 服务器无法支持发送请求所需要的功能 | |
502 | Bad Gateway | 作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应。 |
503 | 服务器因为维护或者负载过重未能应答 | |
504 | Gateway Time-out | 作为网关或者代理工作的服务器尝试执行请求时,未能及时从上游服务器(URI标识出的服务器,例如HTTP、FTP、LDAP)或者辅助服务器(例如DNS)收到响应。 |
505 | 服务器不支持请求中指明的HTTP版本 |
参考博客:
https://www.cnblogs.com/lvchunhao/p/3852908.html
https://blog.csdn.net/qq_24802115/article/details/53898565