状态码的职责是当客户端向服务端发送请求时,描述返回的请求的结果,借助状态码,用户可以知道服务端是正常处理了请求,还是出现了错误.
状态码类别:
2xx成功
2xx的响应结果表明杯正常处理
200 ok:表示从客户端发来的请求在服务器端被正常处理了
204 no content:请求处理成功,但没有资源返回(返回的响应报文中不含实体的主体部分,也不允许返回任何实体的主体)
206 partial content:表示客户端进行了范围请求,而服务器成功执行了这部分的请求
3xx重定向
3xx响应结果表明浏览器需要执行某些特殊的处理以正确处理请求
301 moved permanently:永久性重定向
该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI
302 found:临时性(暂时性)重定向
该状态码表示请求的资源已经分配了新的URI,希望用户(本次)能使用新的URI访问
303 see other:该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源(与302状态码区别 : 303明确表示客户端应采用GET方法获取资源)
304 not modified:
该状态码表示客户端发送附带条件的请求时.服务器允许请求访问资源,但未满足条件的情况,304状态码返回时,不包含任何响应的主体部分.
4xx客户端错误
4xx的响应结果表示客户端是发生错误的原因所在
400 bad request:表示请求报文中存在语法错误,当错误发生时,需修改请求的内容后再次发送请求.
403 forbidden:请求资源的访问被服务器拒绝了 (原因:未获得文件系统的访问权限,访问权限出现某些问题)
404 not found:服务器上无法找到请求的资源 ,也可以在服务器端拒绝请求且不想说明理由式使用.
5xx服务器错误
5xx的响应结果表示服务器本身发生错误
500 internal server error:服务器端在执行请求时发生了错误,可能是Web应用存在的bug或某些临时的故障
503 service unavailable:表示服务器暂时处于超负荷或正在进行停机维护,现在无法处理请求,如果知道解除以上状态需要的时间,最好写入 Retry-After首部字段再返回客户端.
参考文献:
图解http