前言
反正都是要背的
1XX
状态码 |
英文 |
解释 |
100 |
Contoinue |
继续接受请求 |
101 |
Switch Protocol |
切换http协议,比如切换到更高级的http协议 |
2XX
状态码 |
英文 |
解释 |
200 |
OK |
请求成功 |
201 |
Created |
请求成功,创建文件 |
202 |
Accept |
服务器接受请求,正在处理请求 |
203 |
Non-Authoritative Information |
请求成功,但是meta头部信息有待切换 |
204 |
No Content |
请求成功,返回信息为空 |
205 |
Reset Content |
请求成功,重置内容,比如表单信息重置 |
206 |
Partial Content |
服务器成功处理了部分get请求 |
3XX
状态码 |
英文 |
解释 |
300 |
multiple Choice |
多条线路提供选择 |
301 |
Moved Permanently |
永久重定向,比如http重定向到https,后面所有请求都走https |
302 |
Found |
临时重定向,只有当前文件重定向 |
303 |
See Other |
永久重定向,但是和301不同,他说get请求的永久重定向 |
307 |
Temporary Redirect |
临时重定向,但是和301不同,他说get请求的临时重定向 |
304 |
Not Modified |
文件未修改,可以直接从缓存中去拿 |
305 |
Use Proxy |
需要通过代理服务器中才能访问 |
306 |
Unused |
状态码作废 |
4XX
状态码 |
英文 |
解释 |
400 |
Bad Request |
客户端发送的请求错误 |
401 |
Unauthorized |
请求未通过验证 |
402 |
Payment Request |
将来用 |
403 |
Forbidden |
禁止访问 |
404 |
Not Found |
找不到资源 |
405 |
Method Not Allowed |
客户端不支持该方法get/post/put/delete/option |
407 |
Proxy Authentication |
代理服务器未通过验证,和401相互验证 |
410 |
Gone |
之前有的资源,现在已经不存在,可以通过301使用永久重定向 |
414 |
Request-URL Too Large |
请求的url过长 |
5XX
状态码 |
英文 |
解释 |
500 |
Interval Server Error |
服务器请求发生错误。http的错误,和400相互照应 |
501 |
Not Implemented |
服务器不支持该方法get/post/put/delete/option和405相互照应 |
502 |
Bad Gateway |
网关错误 |
503 |
Service Unavailable |
由于服务器超负荷或者服务器错误,因而无法处理客户端请求 |
504 |
Gateway timeout |
网关回应超时 |
505 |
HTTP Version not supported |
服务器不支持该http协议版本,无法处理请求。 |
网络七层模型
作为一个web基层人员,怎么能不会。。。网络协议的起源:巨头互联网公司苹果,IBM,微软都有自己的协议,后来为了沟通方便,统一使用同一种协议。
协议是分层的,有几种不同的分层方式
OSI 模型
名称 |
英文 |
解释 |
数据单位 |
应用层 |
Application Layer |
浏览器/browser |
比特流(bits) |
表示层 |
Presentation Layer |
数据类型;https加密服务/Type of Data; HTTPS-Encryption Sevices |
帧 |
会话层 |
Session Layer |
开始结束会话并保持他们独立/Starts and Ends session and also keeps them isolation |
包(package) |
传输层 |
Transport Layer |
定义端口和/Defineds Ports and Reliability;如:TCP/UDP |
段(Segments) |
网络层 |
Network Layer |
定义IP编址,定义路由功能;如不同设备的数据转发。 |
|
数据链路层 |
Data Link Layer |
定义数据的基本格式,如何传输,如何标志;如网卡MAC地址 |
|
物理层 |
Physical Layer |
底层数据传输,如网线,网卡标准 |
|
网络分层的意义。每一层都是一个独立的黑盒,上层对于下层的传输取决于接口,只要保持接口不变,就不会有问题。这种模型,从上到下,越来越接近过硬件。
最后
建议一直开着fidder这样的抓包工具,会对http状态码有更高层次的理解。就像我一直开着shadowsocket这样子。
![image](https://user-images.githubusercontent.com/14355994/42416122-cae7a0ca-8298-11e8-82f3-f18e617a1fc1.png)
Reference
HTTP状态码 - 菜鸟教程