aboutsummaryrefslogtreecommitdiffstats
path: root/doc/src/manual/http_status_codes.ezdoc
diff options
context:
space:
mode:
Diffstat (limited to 'doc/src/manual/http_status_codes.ezdoc')
-rw-r--r--doc/src/manual/http_status_codes.ezdoc151
1 files changed, 151 insertions, 0 deletions
diff --git a/doc/src/manual/http_status_codes.ezdoc b/doc/src/manual/http_status_codes.ezdoc
new file mode 100644
index 0000000..4d24b20
--- /dev/null
+++ b/doc/src/manual/http_status_codes.ezdoc
@@ -0,0 +1,151 @@
+::: HTTP status codes
+
+This chapter aims to list all HTTP status codes that Cowboy
+may return, with details on the reasons why. The list given
+here only includes the replies that Cowboy sends, not user
+replies.
+
+: 100 Continue
+
+When the client sends an `expect: 100-continue` header,
+Cowboy automatically sends a this status code before
+trying to read the request body. This behavior can be
+disabled using the appropriate body option.
+
+: 101 Switching Protocols
+
+This is the status code sent when switching to the
+Websocket protocol.
+
+: 200 OK
+
+This status code is sent by `cowboy_rest`.
+
+: 201 Created
+
+This status code is sent by `cowboy_rest`.
+
+: 202 Accepted
+
+This status code is sent by `cowboy_rest`.
+
+: 204 No Content
+
+This status code is sent when the processing of a request
+ends without any reply having been sent. It may also be
+sent by `cowboy_rest` under normal conditions.
+
+: 300 Multiple Choices
+
+This status code is sent by `cowboy_rest`.
+
+: 301 Moved Permanently
+
+This status code is sent by `cowboy_rest`.
+
+: 303 See Other
+
+This status code is sent by `cowboy_rest`.
+
+: 304 Not Modified
+
+This status code is sent by `cowboy_rest`.
+
+: 307 Temporary Redirect
+
+This status code is sent by `cowboy_rest`.
+
+: 400 Bad Request
+
+Cowboy will send this status code for any of the
+following reasons:
+
+* Too many empty lines were sent before the request.
+* The request-line could not be parsed.
+* Too many headers were sent.
+* A header name was too long.
+* A header value was too long.
+* The host header was missing from an HTTP/1.1 request.
+* The host header could not be parsed.
+* The requested host was not found.
+* The requested path could not be parsed.
+* The accept header could not be parsed when using REST.
+* REST under normal conditions.
+* A Websocket upgrade failed.
+
+: 401 Unauthorized
+
+This status code is sent by `cowboy_rest`.
+
+: 403 Forbidden
+
+This status code is sent by `cowboy_rest`.
+
+: 404 Not Found
+
+This status code is sent when the router successfully
+resolved the host but didn't find a matching path for
+the request. It may also be sent by `cowboy_rest` under
+normal conditions.
+
+: 405 Method Not Allowed
+
+This status code is sent by `cowboy_rest`.
+
+: 406 Not Acceptable
+
+This status code is sent by `cowboy_rest`.
+
+: 408 Request Timeout
+
+Cowboy will send this status code to the client if the
+client started to send a request, indicated by the
+request-line being received fully, but failed to send
+all headers in a reasonable time.
+
+: 409 Conflict
+
+This status code is sent by `cowboy_rest`.
+
+: 410 Gone
+
+This status code is sent by `cowboy_rest`.
+
+: 412 Precondition Failed
+
+This status code is sent by `cowboy_rest`.
+
+: 413 Request Entity Too Large
+
+This status code is sent by `cowboy_rest`.
+
+: 414 Request-URI Too Long
+
+Cowboy will send this status code to the client if the
+request-line is too long. It may also be sent by
+`cowboy_rest` under normal conditions.
+
+: 415 Unsupported Media Type
+
+This status code is sent by `cowboy_rest`.
+
+: 500 Internal Server Error
+
+This status code is sent when a crash occurs in HTTP, loop
+or REST handlers, or when an invalid return value is
+returned. It may also be sent by `cowboy_rest` under
+normal conditions.
+
+: 501 Not Implemented
+
+This status code is sent by `cowboy_rest`.
+
+: 503 Service Unavailable
+
+This status code is sent by `cowboy_rest`.
+
+: 505 HTTP Version Not Supported
+
+Cowboy only supports the versions 1.0 and 1.1 of HTTP.
+In all other cases this status code is sent back to the
+client and the connection is closed.