Rails中HTTP Status Codes匹配规则[转发]
http://www.hi-ruby.com/posts/1044
HTTP status codes and their respective Rails symbol representations. For example, :not_found
can be used instead of 404
in a render call:
render :file => '404.html.erb', :status => :not_found
1xx Informational
| 100 Continue The server has received the request headers, and that the client should proceed to send the request body. |
| 101 Switching protocols The requester has asked the server to switch protocols and the server is acknowledging that it will do so. |
| 102 Processing The server has received and is processing the request, but no response is available yet. |
2xx Success
| 200 OK The standard response for successful HTTP requests. |
| 201 Created The request has been fulfilled and a new resource has been created. |
| 202 Accepted The request has been accepted but has not been processed yet. This code does not guarantee that the request will process successfully. |
| 203 Non-authoritative information HTTP 1.1. The server successfully processed the request but is returning information from another source. |
| 204 No content The server accepted the request but is not returning any content. This is often used as a response to a |
| 205 Reset content Similar to a |
| 206 Partial content The server is delivering only a portion of the content, as requested by the client via a range header. |
| 207 Multi-status The message body that follows is an XML message and can contain a number of separate response codes, depending on how many sub-requests were made. WebDAV - RFC 4918 |
| 208 Already reported The members of a DAV binding have already been enumerated in a previous reply to this request, and are not being included again. WebDAV - RFC 5842 |
| 226 IM used The server has fulfilled a GET request for the resource, and the response is a representation of the result of one or more instance-manipulations applied to the current instance. |
3xx Redirection
| 300 Multiple choices There are multiple options that the client may follow. |
| 301 Moved permanently The resource has been moved and all further requests should reference its new URI. |
| 302 Found The HTTP 1.0 specification described this status as "Moved Temporarily", but popular browsers respond to this status similar to behavior intended for |
| 303 See other The resource can be retrieved by following other URI using the |
| 304 Not modified The resource has not been modified since the version specified in |
| 305 Use proxy HTTP 1.1. The resource is only available through a proxy and the address is provided in the response. |
| 306 Switch proxy Deprecated in HTTP 1.1. Used to mean that subsequent requests should be sent using the specified proxy. |
| 307 Temporary redirect HTTP 1.1. The request should be repeated with the URI provided in the response, but future requests should still call the original URI. |
| 308 Permanent redirect Experimental. The request and all future requests should be repeated with the URI provided in the response. The HTTP method is not allowed to be changed in the subsequent request. |
4xx Client Error
| 400 Bad request The request could not be fulfilled due to the incorrect syntax of the request. |
| 401 Unauthorized The requestor is not authorized to access the resource. This is similar to |
| 402 Payment required Reserved for future use. Some web services use this as an indication that the client has sent an excessive number of requests. |
| 403 Forbidden The request was formatted correctly but the server is refusing to supply the requested resource. Unlike |
| 404 Not found The resource could not be found. This is often used as a catch-all for all invalid URIs requested of the server. |
| 405 Method not allowed The resource was requested using a method that is not allowed. For example, requesting a resource via a |
| 406 Not acceptable The resource is valid, but cannot be provided in a format specified in the |
| 407 Proxy authentication required Authentication is required with the proxy before requests can be fulfilled. |
| 408 Request timeout The server timed out waiting for a request from the client. The client is allowed to repeat the request. |
| 409 Conflict The request cannot be completed due to a conflict in the request parameters. |
| 410 Gone The resource is no longer available at the requested URI and no redirection will be given. |
| 411 Length required The request did not specify the length of its content as required by the resource. |
| 412 Precondition failed The server does not meet one of the preconditions specified by the client. |
| 413 Request entity too large The request is larger than what the server is able to process. |
| 414 Request-URI too long The URI provided in the request is too long for the server to process. This is often used when too much data has been encoded into the URI of a |
| 415 Unsupported media type The client provided data with a media type that the server does not support. |
| 416 Requested range not satisfiable The client has asked for a portion of the resource but the server cannot supply that portion. |
| 417 Expectation failed The client has asked for a portion of the resource but the server cannot supply that portion. |
| 422 Unprocessable entity The request was formatted correctly but cannot be processed in its current form. Often used when the specified parameters fail validation errors. WebDAV - RFC 4918 |
| 423 Locked The requested resource was found but has been locked and will not be returned. WebDAV - RFC 4918 |
| 424 Failed dependency The request failed due to a failure of a previous request. WebDAV - RFC 4918 |
| 426 Upgrade required The client should repeat the request using an upgraded protocol such as TLS 1.0. |
5xx Server Error
| 500 Internal server error A generic status for an error in the server itself. |
| 501 Not implemented The server cannot respond to the request. This usually implies that the server could possibly support the request in the future — otherwise a |
| 502 Bad gateway The server is acting as a proxy and did not receive an acceptable response from the upstream server. |
| 503 Service unavailable The server is down and is not accepting requests. |
| 504 Gateway timeout The server is acting as a proxy and did not receive a response from the upstream server. |
| 505 HTTP version not supported The server does not support the HTTP protocol version specified in the request. |
| 506 Variant also negotiates Transparent content negotiation for the request results in a circular reference. |
| 507 Insufficient storage The user or server does not have sufficient storage quota to fulfill the request. WebDAV - RFC 4918 |
| 508 Loop detected The server detected an infinite loop in the request. WebDAV - RFC 5842 |
| 510 Not extended Further extensions to the request are necessary for it to be fulfilled. |
| 511 Network authentication required The client must authenticate with the network before sending requests. |
Notes
Based on cheat.errtheblog.com and List of HTTP status codes on Wikipedia.