HTTP常见状态码分析
当浏览者访问一个网页时,浏览者的浏览器会想网页所在的服务器发出请求,当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。
常见的状态码:
1**,信息,服务器收到请求,需要请求者继续执行操作
101,表示切换协议,使用 websocket 时使用 101 状态码进行握手
2**,成功,操作被成功接收并处理
200 OK,表示客户端发送给服务器的请求被正常处理并返回,一般用于 GET 与 POST 请求
204 No Content,服务器成功处理, 但未返回内容,在未更新网页的情况下,可确保浏览器继续显示当前文档
3**,重定向,需要进一步的操作以完成请求
301 Moved Permanently,永久性重定向,请求的资源已经永久的移动到新的URL,浏览器会自动定向到新的URL,今后任何新的请求都应使用新的 URL 代替
302 Found,临时重定向,与301类似,但是资源只是临时被移动,客户端应继续使用原有URL
303 See Other,表示请求的资源被分配了新的 URL,应使用 GET 或 POST 方法定向获取请求的资源
304 Not Modified,未修改,所请求的资源被修改,服务器返回此状态码,不会返回任何资源。客户端通常会缓存访问过的资源,通过提供一个头信息指出客户端希望只返回在指定日期之后修改的资源
4**,客户端错误,请求包含无法错误或无法完成请求
400 Bad Request,客户端请求的语法错误,服务器无法理解
401 Unauthorized,未经许可 ,需要通过 HTTP 认证,请求要求用户的身份认证
403 Forbidden,服务器拒绝该次访问(一般是权限出现问题)
404 Not Found,服务器无法根据客户端的请求找到资源(网页),通过此代码,网页设计人员可以设置“你所请求的资源无法找到”的个性页面
5**,服务器错误,服务器在处理请求的过程中发生了错误
500 Internal Server Error,服务器内部错误,无法完成请求
503 Service Unavailable,由于超载或系统维护,服务器暂时无法处理客户端的请求