Browser Response Handling

Tests performed to examine how browsers handle HTTP response codes with variation on response headers and included\omitted content payload.


All tests performed using form POST to request test response

Tests performed with and without response body content

Tests performed with and without Location header

Firefox, Opera, Safari & Chrome tested on OSX 10.6

IE tested on Windows 7 64-bit

Render = Response body, if exists, rendered by UA


Status Message Firefox 3.x Opera 11.x Safari 5.x Chrome 10.x IE 9.x
1xx Informational
100 Continue Timeout - Response HTTP/0.9 200 OK Timeout - Browser Error Page Timeout - Browser Error Page Timeout - Response 200 OK Timeout - Browser Error Page
101 Switch Protocols Timeout - Repsonse HTTP/0.9 200 OK Timeout - Browser Error Page Timeout - Browser Error Page Timeout - Response 200 OK Timeout - Browser Error Page
102 Processing Timeout - Response HTTP/0.9 200 OK Timeout - Browser Error Page Timeout - Browser Error Page Timeout - Response 200 OK Timeout - Browser Error Page
122 Request URI Too Long Timeout - Response HTTP/0.9 200 OK Timeout - Browser Error Page Timeout - Browser Error Page Timeout - Response 200 OK Timeout - Browser Error Page
2xx Success
200 OK Render Render Render Render Render
201 Created Render Render Render Render Render
202 Accepted Render Render Render Render Render
203 Non-Authoritative Information Render Render Render Render Render
204 No Content If (content) Rewrite: 200 If (content) Rewrite: 200 If (content) Rewrite: 200 If (content) Rewrite: 200 If (content) Rewrite: 200 else Abort
205 Reset Content No content Render Render Timeout Render
206 Partial Content Render Render Render Render Render
207 Multi-Status Render Render Render Render Render
3xx Redirection
300 Multiple Choices if (content) Render else Follow Location if (content) Render else Follow Location Render Render if (content) Render else Follow Location
301 Moved Permenantly if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Browser Error Page else Follow Location
302 Moved Permenantly if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Browser Error Page else Follow Location
303 See Other if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Render else Follow Location if (content) Browser Error Page else Follow Location
304 Not Modified No Content Open\Save Dialog Box if (content) Hang else No Content if (content) Escape else Browser Error Page: ERR_FILE_NOT_FOUND if (content) Timeout else No Content
305 Use Proxy Render Render if (content) Render else Follow Location Render Render
306 Switch Proxy Render Render if (content) Render else Follow Location Render Render
307 Temporary Redirect if (content) Render else Popup Confirmation Redirect if (content) Render else Popup Confirmation Redirect if (content) Render else Follow Location if (content) Render else Follow Location if (content) Browser Error Page else Follow Location
4xx Client Error
400 Bad Request Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
401 Unauthorized Render Render Render Render Render
402 Payment Required Render Render Render Render Render
403 Forbidden Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
404 Not Found Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
405 Method Not Allowed Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
406 Not Acceptable Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
407 Proxy Authentication Required Render Render Render Browser Error Page: ERR_UNEXPECTED_PROXY_AUTH Render
408 Request Timeout Browser Error Page Render Render Render if (content < 512 bytes) Browser Error Page else Content
409 Conflict Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
410 Gone Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
411 Length Required Render Render Render Render
412 Precondition Failed Render Render Render Render Render
413 Request Entity Too Large Render Render Render Render Render
414 Request-URI Too Long Render Render Render Render Render
415 Unsupported Media Type Render Render Render Render Render
416 Requested Range Not Satisfiable Render Render Render Render Render
417 Expectation Failed Render Infinite 100-Continue Render Render Render
422 Unprocessable Entity Render Render Render Render Render
423 Locked Render Render Render Render Render
424 Failed Dependency Render Render Render Render Render
425 Unordered Collection Render Render Render Render Render
426 Upgrade Required Render Render Render Render Render
440 Login Timeout Render Render Render Render Render
444 No Response Render Render Render Render Render
449 Retry With Render Render Render Render Render
499 Client Closed Request Render Render Render Render Render
5xx Server Error
500 Internal Server Error Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
501 Not Implemented Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
502 Bad Gateway Render Render Render Render Render
503 Service Unavailable Render Render Render Render Render
504 Gateway Timeout Render Render Render Render Render
505 HTTP Version Not Supported Render Render Render Render if (content < 512 bytes) Browser Error Page else Content
506 Variant Also Negotiates Render Render Render Render Render
507 Insufficient Storage Render Render Render Render Render
508 Bandwidth Limit Exceeded Render Render Render Render Render
510 Not Extended Render Render Render Render Render