599 Network Connect Timeout Error

5×× Server Error
599 Network Connect Timeout Error

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?

511 Network Authentication Required

5×× Server Error
511 Network Authentication Required

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


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

511 Code References

Symfony HTTP Status Constant Response::HTTP_NETWORK_AUTHENTICATION_REQUIRED

510 Not Extended

5×× Server Error
510 Not Extended

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

510 Code References

Rails HTTP Status Symbol :not_extended

Symfony HTTP Status Constant Response::HTTP_NOT_EXTENDED

508 Loop Detected

5×× Server Error
508 Loop Detected

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

508 Code References

Symfony HTTP Status Constant Response::HTTP_LOOP_DETECTED

507 Insufficient Storage

5×× Server Error
507 Insufficient Storage

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.

Source: RFC4918 Section 11.5

507 Code References

Rails HTTP Status Symbol :insufficient_storage

Symfony HTTP Status Constant Response::HTTP_INSUFFICIENT_STORAGE

506 Variant Also Negotiates

5×× Server Error
506 Variant Also Negotiates

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

506 Code References

Symfony HTTP Status Constant Response::HTTP_VARIANT_ALSO_NEGOTIATES_EXPERIMENTAL

505 HTTP Version Not Supported

5×× Server Error
505 HTTP Version Not Supported

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, 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

505 Code References

Rails HTTP Status Symbol :http_version_not_supported

Go HTTP Status Constant http.StatusHTTPVersionNotSupported

Symfony HTTP Status Constant Response::HTTP_VERSION_NOT_SUPPORTED

Python2 HTTP Status Constant httplib.VERSION_NOT_SUPPORTED

Python3+ HTTP Status Constant http.client.VERSION_NOT_SUPPORTED

Python3.5+ HTTP Status Constant http.HTTPStatus.VERSION_NOT_SUPPORTED

504 Gateway Timeout

5×× Server Error
504 Gateway Timeout

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

504 Code References

Rails HTTP Status Symbol :gateway_timeout

Go HTTP Status Constant http.StatusGatewayTimeout

Symfony HTTP Status Constant Response::HTTP_GATEWAY_TIMEOUT

Python2 HTTP Status Constant httplib.GATEWAY_TIMEOUT

Python3+ HTTP Status Constant http.client.GATEWAY_TIMEOUT

Python3.5+ HTTP Status Constant http.HTTPStatus.GATEWAY_TIMEOUT

503 Service Unavailable

5×× Server Error
503 Service Unavailable

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 field1 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.

1 Retry-After RFC7231 Section 7.1.3
Source: RFC7231 Section 6.6.4

503 Code References

Rails HTTP Status Symbol :service_unavailable

Go HTTP Status Constant http.StatusServiceUnavailable

Symfony HTTP Status Constant Response::HTTP_SERVICE_UNAVAILABLE

Python2 HTTP Status Constant httplib.SERVICE_UNAVAILABLE

Python3+ HTTP Status Constant http.client.SERVICE_UNAVAILABLE

Python3.5+ HTTP Status Constant http.HTTPStatus.SERVICE_UNAVAILABLE

501 Not Implemented

5×× Server Error
501 Not Implemented

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 controls1.

1 Calculating Heuristic Freshness RFC7234 Section 4.2.2
Source: RFC7231 Section 6.6.2

501 Code References

Rails HTTP Status Symbol :not_implemented

Go HTTP Status Constant http.StatusNotImplemented

Symfony HTTP Status Constant Response::HTTP_NOT_IMPLEMENTED

Python2 HTTP Status Constant httplib.NOT_IMPLEMENTED

Python3+ HTTP Status Constant http.client.NOT_IMPLEMENTED

Python3.5+ HTTP Status Constant http.HTTPStatus.NOT_IMPLEMENTED

500 Internal Server Error

5×× Server Error
500 Internal Server Error

The server encountered an unexpected condition that prevented it from fulfilling the request.

Source: RFC7231 Section 6.6.1

500 Code References

Rails HTTP Status Symbol :internal_server_error

Go HTTP Status Constant http.StatusInternalServerError

Symfony HTTP Status Constant Response::HTTP_INTERNAL_SERVER_ERROR

Python2 HTTP Status Constant httplib.INTERNAL_SERVER_ERROR

Python3+ HTTP Status Constant http.client.INTERNAL_SERVER_ERROR

Python3.5+ HTTP Status Constant http.HTTPStatus.INTERNAL_SERVER_ERROR