Adds 5xx class status codes with descriptions from latest standards

This commit is contained in:
Samuel Ryan 2015-11-07 05:05:36 +00:00
parent bdccf26e4c
commit 8104649daf
12 changed files with 193 additions and 11 deletions

View File

@ -2,6 +2,14 @@
set: 5
code: 500
title: Internal Server Error
references:
"Rails HTTP Status Symbol": ":internal_server_error"
---
This is the contents of the 500 status code
The 500 (Internal Server Error) status code indicates that the server
encountered an unexpected condition that prevented it from fulfilling the
request.
Source: [RFC7231 Section 6.6.1][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.1>

View File

@ -2,6 +2,20 @@
set: 5
code: 501
title: Not Implemented
references:
"Rails HTTP Status Symbol": ":not_implemented"
---
This is the contents of the 501 status code
The 501 (Not Implemented) status code indicates that the server does not support
the functionality required to fulfill the request. This is the appropriate
response when the server does not recognize the request method and is not
capable of supporting it for any resource.
A 501 response is cacheable by default; i.e., unless otherwise indicated by the
method definition or explicit cache controls
(see [Section 4.2.2 of RFC7234][1]).
Source: [RFC7231 Section 6.6.2][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.2>
[2]: <http://tools.ietf.org/html/rfc7234#section-4.2.2>

15
contents/codes/502.md Normal file
View File

@ -0,0 +1,15 @@
---
set: 5
code: 502
title: Bad Gateway
references:
"Rails HTTP Status Symbol": ":bad_gateway"
---
The 502 (Bad Gateway) status code indicates that the server, while acting as a
gateway or proxy, received an invalid response from an inbound server it
accessed while attempting to fulfill the request.
Source: [RFC7231 Section 6.6.3][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.3>

View File

@ -2,6 +2,21 @@
set: 5
code: 503
title: Service Unavailable
references:
"Rails HTTP Status Symbol": ":service_unavailable"
---
This is the contents of the 503 status code
The 503 (Service Unavailable) status code indicates that the server is currently
unable to handle the request due to a temporary overload or scheduled
maintenance, which will likely be alleviated after some delay. The server MAY
send a Retry-After header field ([RFC7231 Section 7.1.3][2]) to suggest an
appropriate amount of time for the client to wait before retrying the request.
Note: The existence of the 503 status code does not imply that a server has to
use it when becoming overloaded. Some servers might simply refuse the
connection.
Source: [RFC7231 Section 6.6.4][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.4>
[2]: <http://tools.ietf.org/html/rfc7231#section-7.1.3>

View File

@ -2,6 +2,14 @@
set: 5
code: 504
title: Gateway Timeout
references:
"Rails HTTP Status Symbol": ":gateway_timeout"
---
This is the contents of the 504 status code
The 504 (Gateway Timeout) status code indicates that the server, while acting as
a gateway or proxy, did not receive a timely response from an upstream server it
needed to access in order to complete the request.
Source: [RFC7231 Section 6.6.5][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.5>

View File

@ -2,6 +2,19 @@
set: 5
code: 505
title: HTTP Version Not Supported
references:
"Rails HTTP Status Symbol": ":http_version_not_supported"
---
This is the contents of the 505 status code
The 505 (HTTP Version Not Supported) status code indicates that the server does
not support, or refuses to support, the major version of HTTP that was used in
the request message. The server is indicating that it is unable or unwilling to
complete the request using the same major version as the client, as described in
[Section 2.6 of RFC7230][2], other than with this error message. The server
SHOULD generate a representation for the 505 response that describes why that
version is not supported and what other protocols are supported by that server.
Source: [RFC7231 Section 6.6.6][1]
[1]: <http://tools.ietf.org/html/rfc7231#section-6.6.6>
[2]: <http://tools.ietf.org/html/rfc7230#section-2.6>

View File

@ -4,4 +4,11 @@ code: 506
title: Variant Also Negotiates
---
This is the contents of the 506 status code
The 506 status code indicates that the server has an internal configuration
error: the chosen variant resource is configured to engage in transparent
content negotiation itself, and is therefore not a proper end point in the
negotiation process.
Source: [RFC2295 Section 8.1][1]
[1]: <http://tools.ietf.org/html/rfc2295#section-8.1>

View File

@ -2,6 +2,15 @@
set: 5
code: 507
title: Insufficient Storage
references:
"Rails HTTP Status Symbol": ":insufficient_storage"
---
This is the contents of the 507 status code
The 507 (Insufficient Storage) status code means the method could not be
performed on the resource because the server is unable to store the
representation needed to successfully complete the request. This condition is
considered to be temporary. If the request that received this status code was
the result of a user action, the request MUST NOT be repeated until it is
requested by a separate user action.
[1]: <http://tools.ietf.org/html/rfc4918#section-11.5>

View File

@ -4,4 +4,10 @@ code: 508
title: Loop Detected
---
This is the contents of the 508 status code
The 508 (Loop Detected) status code indicates that the server terminated an
operation because it encountered an infinite loop while processing a request
with "Depth: infinity". This status indicates that the entire operation failed.
Source: [RFC5842 Section 7.2][1]
[1]: <http://tools.ietf.org/html/rfc5842#section-7.2>

View File

@ -2,6 +2,22 @@
set: 5
code: 510
title: Not Extended
references:
"Rails HTTP Status Symbol": ":not_extended"
---
This is the contents of the 510 status code
The policy for accessing the resource has not been met in the request. The
server should send back all the information necessary for the client to issue an
extended request. It is outside the scope of this specification to specify how
the extensions inform the client.
If the 510 response contains information about extensions that were not present
in the initial request then the client MAY repeat the request if it has reason
to believe it can fulfill the extension policy by modifying the request
according to the information provided in the 510 response. Otherwise the client
MAY present any entity included in the 510 response to the user, since that
entity may include relevant diagnostic information.
Source: [RFC2774 Section 7][1]
[1]: <http://tools.ietf.org/html/rfc2774#section-7>

View File

@ -4,4 +4,69 @@ code: 511
title: Network Authentication Required
---
This is the contents of the 511 status code
The 511 status code indicates that the client needs to authenticate to gain
network access.
The response representation SHOULD contain a link to a resource that allows the
user to submit credentials (e.g., with an HTML form).
Note that the 511 response SHOULD NOT contain a challenge or the login interface
itself, because browsers would show the login interface as being associated with
the originally requested URL, which may cause confusion.
The 511 status SHOULD NOT be generated by origin servers; it is intended for use
by intercepting proxies that are interposed as a means of controlling access to
the network.
Responses with the 511 status code MUST NOT be stored by a cache.
The 511 status code is designed to mitigate problems caused by "captive portals"
to software (especially non-browser agents) that is expecting a response from
the server that a request was made to, not the intervening network infrastructure.
It is not intended to encourage deployment of captive portals -- only to limit
the damage caused by them.
A network operator wishing to require some authentication, acceptance of terms,
or other user interaction before granting access usually does so by identifying
clients who have not done so ("unknown clients") using their Media Access
Control (MAC) addresses.
Unknown clients then have all traffic blocked, except for that on TCP port 80,
which is sent to an HTTP server (the "login server") dedicated to "logging in"
unknown clients, and of course traffic to the login server itself.
For example, a user agent might connect to a network and make the following HTTP
request on TCP port 80:
```
GET /index.htm HTTP/1.1
Host: www.example.com
```
Upon receiving such a request, the login server would generate a 511 response:
```
HTTP/1.1 511 Network Authentication Required
Content-Type: text/html
<html>
<head>
<title>Network Authentication Required</title>
<meta http-equiv="refresh"
content="0; url=https://login.example.net/">
</head>
<body>
<p>You need to <a href="https://login.example.net/">
authenticate with the local network</a> in order to gain
access.</p>
</body>
</html>
```
Here, the 511 status code assures that non-browser clients will not interpret
the response as being from the origin server, and the META HTML element
redirects the user agent to the login server.
Source: [RFC6585 Section 6][1]
[1]: <http://tools.ietf.org/html/rfc6585#section-6>

View File

@ -6,4 +6,10 @@ code: 599
title: Network Connect Timeout Error
---
This is the contents of the 599 status code
This status code is not specified in any RFCs, but is used by some HTTP proxies
to signal a network connect timeout behind the proxy to a client in front of the
proxy.
Source: [unknown?][1]
[1]: <https://github.com/citricsquid/httpstatus.es/issues/22>