状态码

当浏览网页的时候,浏览者的浏览器会向浏览器所在服务器发送请求,在浏览者接收到响应并显示网页前,浏览器会先收到一个服务器返回的一个包含HTTP状态码的信息头,用来响应浏览器的请求

类型 含义
1xx informational(信息性状态码) 接收到的请求正在处理
2xx success(成功状态码) 请求正常处理完毕
3xx Redirection(重定向状态码) 需要进行附加操作完成请求
4xx Client Error(客户端状态码) 服务器无法处理请求
5xx Server Error(服务端状态码) 服务器处理请求出错

常见的状态码:

1xx

请求正在处理,客户端可以根据响应信息发送需求

101 Switch protocol(交换协议)

更换协议,服务器根据客户端的要求,切换协议,但是只能切换更高级的协议


2xx

2xx的响应状态码表示客户端的请求已经被服务器正常接处理了

200 OK (正常访问)

用于一般的post和get操作

204 no content(没有内容)

无内容,服务器成功处理,但是没有返回的响应报文中没有实体内容,并且也不允许返回任何实体内容(在这个状态码下,这个页面不发生更新)

206 partial content(部分内容)

服务器只成功处理了部分的Get请求


3xx

3xx的响应状态码表示服务器需要进行执行某些特殊操作才能完成处理请求

301 Moved permanently(永久重定向)

URI(Uniform Resource Indentifier) 统一资源标志符:是一个用于标识某一互联网资源名称的字符串。(不同于URL

请求的资源已经被永久地移到一个新的URI地址,返回信息会包含新的URI,浏览器也会重新自动定向到新的URI。今后的请求都会由新的URI

302 Found(临时重定向)

已经移动的资源以后还可能会移动

303 See Other(查看其它地址)

该状态码表示请求的资源在另外一个URI,应使用GET方法定向获取请求的资源

304 No Modified(未修改)

所请求的资源未修改,服务器返回该状态码的时候,不会返回任何资源。客户端(浏览器)通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回这个日期之后修改过的资源

307 Temporary Redirect(临时重定向)

跟302相同


4xx

4xx的响应结果表明客户端时发生错误的原因所在

400 Bad Request(服务端无法理解)

表示客户端的请求报文中存在语法错误

401 Unauthorized(认证错误)

第一次401会弹出认证的窗口

第二次401会表示用户认证错误

403 Forbidden(禁止)

表明服务器理解来自客户端的请求,但是请求资源的访问被服务器拒绝了,会在实体里说明了理由

404 Not Found (找不到)

服务器上找不到客户端发出请求的资源。除此之外,也有可能是服务器拒绝请求且不想说明原因

413 Request Entity Too Large(请求资源过大)

服务器无法处理,因此拒绝请求。为了避免客户端的连续请求,服务器可能会关闭连接。如果只是暂时无法处理,则会包含一个Retry-After的响应信息

5xx

服务器错误,5xx的响应结果表明服务器本身发生错误

500 Internal Server Error(服务器内部错误)

状态码表明服务器端在执行请求时发生了错误。也有可能是 Web应用存在的 bug 或某些临时的故障。

501 No Implemented(客户端请求的功能不支持)

502 Bad Gateway (请求超时)

作为网关或者代理工作的服务器尝试执行请求时,从远程服务器接收到了一个无效的响应

503 Service Unavailable (系统维护)

由于超载或系统维护,服务器暂时的无法处理客户端的请求。延时的长度可包含在服务器的Retry-After头信息中