4

I wish to decide what template (view) I should display based on the response code:

    $codes = array(
        100 => 'Continue',
        101 => 'Switching Protocols',
        200 => 'OK',
        201 => 'Created',
        202 => 'Accepted',
        203 => 'Non-Authoritative Information',
        204 => 'No Content',
        205 => 'Reset Content',
        206 => 'Partial Content',
        300 => 'Multiple Choices',
        301 => 'Moved Permanently',
        302 => 'Found',
        303 => 'See Other',
        304 => 'Not Modified',
        305 => 'Use Proxy',
        307 => 'Temporary Redirect',
        400 => 'Bad Request',
        401 => 'Unauthorized',
        402 => 'Payment Required',
        403 => 'Forbidden',
        404 => 'Not Found',
        405 => 'Method Not Allowed',
        406 => 'Not Acceptable',
        407 => 'Proxy Authentication Required',
        408 => 'Request Time-out',
        409 => 'Conflict',
        410 => 'Gone',
        411 => 'Length Required',
        412 => 'Precondition Failed',
        413 => 'Request Entity Too Large',
        414 => 'Request-URI Too Large',
        415 => 'Unsupported Media Type',
        416 => 'Requested range not satisfiable',
        417 => 'Expectation Failed',
        500 => 'Internal Server Error',
        501 => 'Not Implemented',
        502 => 'Bad Gateway',
        503 => 'Service Unavailable',
        504 => 'Gateway Time-out',
    );

I know that 2xx suggest that everything is fine, so for 2xx I can display the template file associated with the request.

Does that mean all the others are errors, and I should display a standard "error" template?

1
  • Those status are not requests, they are responses ! It is your responsability to determine which status to reply with, depending on the actual request sent to your server (basically URI + GET + POST). Commented Aug 18, 2012 at 10:33

3 Answers 3

8

4xx are client errors.

5xx are server errors.

3xx are not errors at all.

See RFC 2616 section 6.1.1 (Status Code and Reason Phrase).

You should consider handling 418 I'm a teapot as well as for RFC 2324 Hyper Text Coffee Pot Control Protocol.

Sign up to request clarification or add additional context in comments.

Comments

3

Any code that begins with a 4 (4xx) is a client error (an error caused because the client made a request that the server can't fulfil or make sense of).

any code that begins with a 5 (5xx) is a server error (an error caused because of some problem in the server's configuration).

1xx codes are informational, 2xx indicates successful outcomes, and 3xx indicate redirection (except for 304 not mofified, which indicates that the browser already has an up to date version of the requested resource).

Comments

1

Codes 4XX and 5XX as given in your list.

Other codes are not errors

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.