Apache Error Response Codes & Explanation

Silent Response Codes that signify that a request has been received and is currently being processed.

100

The request has been completed and the rest of the process can continue.

101

The user’s request to switch protocols (like from FTP to HTTP) was accepted.

200-299

Silent codes that confirm that requests have completed successfully.

200

Ok — the file which the client requested is available for transfer. This is the response code you want to see all of your users receiving.

201

When new pages are created by posted form data or by a CGI process, this is confirmation that it worked.

202

The client’s request was accepted, though not yet processed.

203

The information contained in the entity header is not from the original site, but from a third party server.

204

If you click a link which has no target URL, this response is elicited by the server. It’s silent and doesn’t warn the user about anything.

205

This allows the server to reset any content returned by a CGI.

206

Partial content — the requested file wasn’t downloaded entirely. This is returned when the user presses the stop button before a page is loaded, for example.

300-399

A redirection is occurring from the original request.

300

The requested address refers to more than one file. Depending on how the server is configured, you get an error or a choice of which page you want.

301

Moved Permanently — if the server is set up properly it will automatically redirect the reader to the new location of the file.

302

Found — page has been moved temporarily, and the new URL is available. You should be sent there by the server.

303

This is a “see other” SRC. Data is somewhere else and the GET method is used to retrieve it.

304

Not Modified — if the request header includes an ‘if modified since’ parameter, this code will be returned if the file has not changed since that date. Search engine robots may generate a lot of these.

400-499

Request is incomplete for some reason.

400

Bad Request — there is a syntax error in the request, and it is denied.

401

The request header did not contain the necessary authentication codes, and the client is denied access.

402

Payment is required. This code is not yet in operation.

403

Forbidden — the client is not allowed to see a certain file. This is also returned at times when the server doesn’t want any more visitors.

404

Document not found — the requested file was not found on the server. Possibly because it was deleted, or never existed before. Often caused by misspellings of URLs.

405

The method you are using to access the file is not allowed.

406

The requested file exists but cannot be used as the client system doesn’t understand the format the file is configured for.

407

The request must be authorised before it can take place.

408

Request Timeout — the server took longer than its allowed time to process the request. Often caused by heavy net traffic.

409

Too many concurrent requests for a single file.

410

The file used to be in this position, but is there no longer.

411

The request is missing its Content-Length header.

412

A certain configuration is required for this file to be delivered, but the client has not set this up.

413

The requested file was too big to process.

414

The address you entered was overly long for the server.

415

The filetype of the request is unsupported.

500-599

Errors have occurred in the server itself.

500

Internal Server Error — nasty response that is usually caused by a problem in your Perl code when a CGI program is run.

501

The request cannot be carried out by the server.

502

Bad Gateway — the server you’re trying to reach is sending back errors.

503

Temporarily Unavailable — the service or file that is being requested is not currently available.

504

The gateway has timed out. Like the 408 timeout error, but this one occurs at the gateway of the server.