The status codes are all three-digit numbers that are grouped by the first digit into 5 groups. The reason phrases given with the status codes below are just suggestions. Server can return any reason phrase they wish.
No 1xx status codes are defined, and they are reserved for experimental purposes only.
Means that the request was processed successfully.
- 200 OK
Means that the server did whatever the client wanted it to, and all is well.
The rest of the 2xx status codes are mainly meant for script processing and are not often used.
Means that the resource is somewhere else and that the client should try again at a new address.
- 301 Moved permanently
- 302 Moved temporarily
- 304 Not modified
The resource the client requested is somewhere else, and the client should go there to get it. Any links or other references to this resource should be updated.
This means the same as the 301 response, but links should now not be updated, since the resource may be moved again in the future.
This response can be returned if the client used the if-modified-since header field and the resource has not been modified since the given time. Simply means that the cached version should be displayed for the user.
4xx: Client error
Means that the client screwed up somehow, usually by asking for something it should not have asked for.
- 400: Bad request
- 401: Unauthorized
- 403: Forbidden
- 404: Not found
The request sent by the client didn’t have the correct syntax.
Means that the client is not allowed to access the resource. This may change if the client retries with an authorization header.
The client is not allowed to access the resource and authorization will not help.
Seen this means that the server has not heard of the resource and has no further clues as to what the client should do about it. In other words: dead link.
5xx: Server error
This means that the server screwed up or that it couldn’t do as the client requested.
- 500: Internal server error
- 501: Not implemented
- 503: Service unavailable
Something went wrong inside the server.
The request method is not supported by the server.
This sometimes happens if the server is too heavily loaded and cannot service the request. Usually, the solution is for the client to wait a while and try again.