共计 1190 个字符,预计需要花费 3 分钟才能阅读完成。
近来在阅读《http 权威指南》,看到状态码相关部分,在这里记录下一些常用的状态码,以供以后翻阅。
100~199:信息性状态码
- 100 Continue,说明收到了请求的初始部分,请客户端继续。之后服务器收到请求后必须响应。一般是客户端需要发送一个有实体的主体部分给服务器,但发送之前希望知道服务器是否会接受这个实体。首先客户端要发送一个携带了值为 100 Continue 的 Expect 请求首部。
200~299:成功状态码
- 200 OK,代表请求没问题,返回的主体包含请求资源
- 202 Accepted,请求已被接受,但服务器还未对其执行任何动作。不能保证服务器会完成这个请求。
- 204 No Content,响应报文中包含若干首部和一个状态行,但没有实体的主体部分。主要是用来在浏览器不转为显示新文档的情况下,对其进行更新。如更新一个表单页面
300~399:重定向状态码
- 301 Moved Permanently,表示请求的 URL 已被移除。响应的 Location 首部中应包含资源现在所处的 URL
- 302 Found,临时重定向,响应的 Location 首部包含临时定位资源的 URL,以后的请求仍使用旧的 URL。当 HTTP/1.0 客户端发起 Post 请求,收到 302 码后会向重定向的 URL 发起 Get 请求。
- 303 See Other,HTTP1.1 规范用 303 状态码来重定向客户端的 POST 请求,在它后面跟上一个 GET 请求
- 304 Not Modified,说明请求的资源没有在服务器端更新修改,一般用在客户端请求协商缓存时,返回 304 代表缓存资源不需要更新,直接在本地获取即可。
- 307 Temporary Redirect,HTTP1.1 客户端用 307 状态码取代 302
400~499:客户端错误状态码
- 400 Bad Request,客户端发送了错误请求
- 401 Unauthorized,与适当的首部一起返回,这些首部中请求客户端在获取对资源的访问权之前,对自己进行认证。
- 403 Forbidden,说明请求被服务器拒绝了
- 404 Not Found,说明服务器无法找到所请求的 URL
- 405 Method Not Allowed,说明发起的请求中带有所请求的 URL 不支持的方法。
- 406 Not Acceptable,服务器没有与客户端可接受的 URL 相匹配的资源
- 408 Request Timeout,说明客户端完成请求所花时间太长,返回 408, 并关闭连接。超时时长随服务器的不同有所不同。
500~599:服务器错误状态码
- 500 Internal Server Error,服务器遇到妨碍它为请求提供服务的错误
- 501 Not Implemented,客户端发起的请求超出服务器的能力范围
- 502 Bad Gateway,代理或网关使用的服务器从请求响应链的下一条链路上收到了伪响应,发生网关连接错误
- 503 Service Unavailable,服务器繁忙,暂时无法为请求提供服务
正文完