当网站服务器接收到浏览器的请求后,会发送响应消息给浏览器,这个响应就叫做HTTP响应。一个完整的响应消息主要包含:
-
响应状态码(Response Status Code)
-
响应头(Response Headers)
-
响应体(Response Body)
1.响应状态码(Response Status Code)
响应状态码表示服务器对请求的响应结果。例如,200代表服务器响应成功,403代表禁止访问,404代表页面未找到,408代表请求超时。浏览器会根据状态码做出相应的处理。在爬虫中,可以根据状态码来判断服务器的状态,如果状态码为200,则继续处理数据,否则直接忽略。
状态码 | 说明 | 详情 |
---|---|---|
100 | 继续 | 服务器已收到请求的一部分,客户端应该继续发送 |
101 | 切换协议 | 请求者已要求服务器切换协议,服务器已确认并准备切换 |
200 | 成功 | 服务器已成功处理了请求 |
201 | 已创建 | 请求成功并且服务器创建了新的资源 |
202 | 已接受 | 服务器已接受请求,但尚未处理 |
203 | 非授权内容 | 服务器成功处理了请求,但返回的信息可能来自另一来源 |
204 | 无内容 | 服务器成功处理了请求,但没有返回任何内容 |
205 | 重置内容 | 服务器成功处理了请求,但没有返回任何内容 |
206 | 部分内容 | 服务器成功处理了部分GET请求 |
300 | 多种选择 | 针对请求,服务器可执行多种操作 |
301 | 永久移动 | 请求的网页已永久移动到新位置 |
302 | 临时移动 | 请求的网页暂时跳转到其它页面 |
400 | 错误请求 | 服务器不理解请求的语法 |
401 | 未授权 | 请求要求身份验证 |
403 | 禁止 | 服务器拒绝请求 |
404 | 未找到 | 服务器找不到请求的网页 |
405 | 方法禁用 | 禁用请求中指定的方法 |
406 | 不接受 | 无法使用请求的内容特性响应请求的网页 |
407 | 需要代理授权 | 与401(未授权)类似,但指定请求者应当授权使用代理 |
408 | 请求超时 | 服务器等候请求时发生超时 |
409 | 冲突 | 服务器在完成请求时发生冲突 |
410 | 已删除 | 请求的资源已被永久删除 |
411 | 需要有效长度 | 服务器不接受不含有效内容长度标头字段的请求 |
412 | 未满足前提条件 | 服务器未满足请求者在请求中设置的其中一个前提条件 |
413 | 请求实体过大 | 实体过大,超出服务器的处理能力 |
414 | URI过长 | 请求的URI(通常为网址)过长 |
415 | 不支持的媒体类型 | 请求的格式不受请求页面的支持 |
500 | 服务器内部错误 | 服务器遇到错误,无法完成请求 |
501 | 尚未实施 | 服务器不具备完成请求的功能 |
502 | 错误网关 | 服务器作为网关或代理,从上游服务器收到无效响应 |
503 | 服务不可用 | 服务器目前无法使用 |
504 | 网关超时 | 没用及时从上游服务器收到请求 |
505 | HTTP版本不支持 | 服务器不支持请求中所用的HTTP协议版本 |
2. 响应头(Response Headers)
响应头中包含了服务器对请求的应答信息。在Chrome浏览器的“开发者工具”中,响应头的内容在Headers选项卡中的Response Headers目录中
![](https://img.haomeiwen.com/i10787119/6be05c9584c27c65.png)
下面简单介绍一下常用的响应头信息。
-
Date:服务器响应时间。
-
Content-Type:返回数据的文档类型,
- text/html:代表返回HTML文档
- text/css:代表返回css文件
- application/javascript:代表返回JavaScript文件
- image/jpeg:代表返回图片
- application/json:代表返回json
-
Content-Encoding:服务器支持的返回内容压缩编码类型。
-
Server:服务器软件的名称。
-
Set-Cookie:设置HTTP Cookie。
-
Expires:响应过期的日期和时间。
3. 响应体(Response Body)
响应体中存放服务器发送给浏览器的正文数据。在Chrome浏览器的“开发者工具”中,与Headers选项卡平行的Response选项卡中存储的就是响应体数据。比如请求访问百度首页时,它的响应体就是百度首页的HTML代码。
![](https://img.haomeiwen.com/i10787119/6e25fb7f921e0f22.png)
网友评论