The following table contains the constants and corresponding values for the HTTP status codes returned by HTTP servers. Following constants defined in "WinInet.pas" module.
Constants // 1xx: Informational - Request received, continuing process HTTP_STATUS_CONTINUE (100)
The request can be continued.
The server has switched protocols in an upgrade header.
// 2xx: Success - The action was successfully received, understood, and accepted HTTP_STATUS_OK (200)
The request completed successfully.
The request has been fulfilled and resulted in the creation of a new resource.
The request has been accepted for processing, but the processing has not been completed.
The returned meta information in the entity-header is not the definitive set available from the origin server.
The server has fulfilled the request, but there is no new information to send back.
The request has been completed, and the client program should reset the document view that caused the request to be sent to allow the user to easily initiate another input action.
The server has fulfilled the partial GET request for the resource.
// 3xx: Redirection - Further action must be taken in order to complete the request HTTP_STATUS_AMBIGUOUS (300)
The server couldn't decide what to return.
The requested resource has been assigned to a new permanent URI (Uniform Resource Identifier), and any future references to this resource should be done using one of the returned URIs.
The requested resource resides temporarily under a different URI (Uniform Resource Identifier).
The response to the request can be found under a different URI (Uniform Resource Identifier) and should be retrieved using a GET HTTP verb on that resource.
The requested resource has not been modified.
The requested resource must be accessed through the proxy given by the location field.
The redirected request keeps the same HTTP verb. HTTP/1.1 behavior.
4xx: Client Error - The request contains bad syntax or cannot be fulfilled HTTP_STATUS_BAD_REQUEST (400)
The request could not be processed by the server due to invalid syntax.
The requested resource requires user authentication.
Not currently implemented in the HTTP protocol.
The server understood the request, but is refusing to fulfill it.
The server has not found anything matching the requested URI (Uniform Resource Identifier).
The HTTP verb used is not allowed.
No responses acceptable to the client were found.
Proxy authentication required.
The server timed out waiting for the request.
The request could not be completed due to a conflict with the current state of the resource. The user should resubmit with more information.
The requested resource is no longer available at the server, and no forwarding address is known.
The server refuses to accept the request without a defined content length.
The precondition given in one or more of the request header fields evaluated to false when it was tested on the server.
The server is refusing to process a request because the request entity is larger than the server is willing or able to process.
The server is refusing to service the request because the request URI (Uniform Resource Identifier) is longer than the server is willing to interpret.
The server is refusing to service the request because the entity of the request is in a format not supported by the requested resource for the requested method.
The request should be retried after doing the appropriate action.
5xx: Server Error - The server failed to fulfill an apparently valid request HTTP_STATUS_SERVER_ERROR (500)
The server encountered an unexpected condition that prevented it from fulfilling the request.
The server does not support the functionality required to fulfill the request.
The server, while acting as a gateway or proxy, received an invalid response from the upstream server it accessed in attempting to fulfill the request.
The service is temporarily overloaded.
The request was timed out waiting for a gateway.
The server does not support, or refuses to support, the HTTP protocol version that was used in the request message.