Explaining the conditions that trigger status codes
Status Codes
Preliminaries
An explanation of what conditions trigger each status code in an HTTP/2 response.
OK Status Code 200
A request was fulfilled and the response body contains the bytes requested. This occurs for these types of requests:
- All successful
GET
requests. - All
TRACE
requests, where the headers are simply echoed back to the user-agent in the response body using content-typemessage/http
. - All
OPTIONS
requests with acontent-length
of zero and an empty body.
Created Status Code 201
The request was successful, and no further action is needed. This occurs for these types of requests:
- A
PUT
request to upload a new file completed without errors.
No Content Status Code 204
The request was successful, and no further action is needed. This occurs for these types of requests:
- The RBAC Auth handler processed a
POST
request to login or logout without errors. - A
PUT
request to upload an existing file completed without errors. - A
DELETE
request deleted a file without errors.
Partial Content Status Code 206
The request was successful, and no further action is needed. This occurs for these types of requests:
- A
GET
request with arange
header returned the specified portion of a file.
Multi Status Status Code 207
The request was successful, and no further action is needed. This occurs for these types of requests:
- A
PUT
,PATCH
,POST
orDELETE
request with acontent-type
header ofmultipart/form-data
returning separate status codes for each multipart operation.
Found Status Code 302
The request was understood, and instructions on how to proceed are returned to the browser. This occurs for these types of requests:
- The Resource Mask handler has redirected the request to a different scheme or authority. The browser should examine the
location
response header and reissue the request using that path.
See Other Status Code 303
The request was successfully processed, and followup instructions on which page to display are returned to the browser. This occurs for these types of requests:
- The RBAC Auth handler received and successfully processed a login or logout request, and the
POST
form contained alocation
field; the browser should examine thelocation
response header and issue a followup request using that path.
Not Modified Status Code 304
A conditional request does not need to be fulfilled because the browser already has the most recent version of the resource. This occurs for these types of requests:
- A
GET
request contains anif-modified-since
header, and the server's copy of the resource is the same or older. - A
GET
request contains anif-match
orif-none-match
header with an Etag value, and the server's copy of the resource has a matching Etag value.
Bad Request Status Code 400
The request was not fully understood by the server. This may be caused by any of these circumstances:
- The request to login or logout did not include credentials in the proper form.
- The request attempted to access a file outside the area defined for public documents.
- The request says that it is intended for a website that is different from this website's hostname.
Forbidden Status Code 403
The server understood the request, but is refusing to fulfill it. This may be caused by any of these circumstances:
- The requestor did not login to this website's Role Based Access Control system.
- The requestor's authorization to access the website has timed-out.
- The requestor is not assigned a role that grants permission to this resource.
- The resource is in a directory that is explicitly marked as private.
Not Found Status Code 404
The requested item does not exist at the specified location. This may be the result of any of these circumstances:
- The hyperlink from the previous web page is broken.
- The URL was incorrectly typed or copy-and-pasted.
- The resource was here at one time, but has since been deleted or moved to a different place.
Method not allowed Status Code 405
The HTTP method is not allowed with the requested item. This may be the result of any of these circumstances:
- Only explicitly configured HTTP methods are honored by the server.
- The Role Based Access Control system does not allow the HTTP method for the requested resource.
- The Router module does not allow the HTTP method for the requested resource.
- The Cross Origin module does not allow the HTTP method for the origin server.
Not acceptable Status Code 406
An acceptable response to the HTTP request could not be negotiated between the browser and server. This may be the result of any of these circumstances:
- The browser's request explicitly asks for a response in a natural language that it can't provide.
- The browser has asked for a document with a type of content different from what the server actually has.
- The server is not able to decompress the request using the specified algorithm.
Conflict Status Code 409
The browser's request conflicts with the server's file system protections. This may be caused by any of these circumstances:
- The server does not have permission to read the document.
- The server does not have permission to write the document.
- The server does not have permission to delete the document.
- The server does not have permission to create the document directory.
Length required Status Code 411
The browser's request was missing information needed to properly perform the action. This may be caused by any of these circumstances:
- The request did not specify a content length.
- The request's content length exceeded the limit imposed by the server.
Precondition failed Status Code 412
The conditions imposed by the browser were not met, and the server honored the request to block the action. This may be caused by any of these circumstances:
- The Etag provided by the browser does not match the current resource's Etag.
- The timestamp provided by the browser does not match the resource's last-modified time.
URI too long Status Code 414
The request was canceled because it exceeded a limit imposed by the server. This may be caused by any of these circumstances:
- The resource path was longer than 255 characters.
- The URI was improperly encoded and the query-string could not be separated from the resource path.
Unsupported media type Status Code 415
The request was canceled because its data was not provided in the expected form. This may be caused by any of these circumstances:
- The request neglected to specify the content's type.
- The request specified a content-type that the server is not configured to handle.
- The request specified an allowable content-type, but the filename extension indicates that it is a different type.
- A login/logout request did not provide the necessary data in the correct form.
Range not satisfiable Status Code 416
The request for partial content could not be honored. This may be caused by any of these circumstances:
- The range request did not specify its value using
'bytes'
. - The range request was improperly formed, with a starting value greater than the ending value.
Internal server error Status Code 500
The request failed due to a server-side problem. This may be caused by any of these circumstances:
- The request was routed to a dynamic module that could not be located.
- A dynamic module was improperly implemented by a third-party provider.
- The server's file system permission handler trapped an unexpected type of file activity.
- The server software was not prepared to handle the current state of affairs.
Not implemented Status Code 501
The request was canceled due to a server-side limitation. This may be caused by any of these circumstances:
- Requests to upload a portion of a file, using the
PUT
method are not implemented.