Please send feedback to julian.reschke@gmx.de.
Colors -- Red: Failure, Green: Pass, Yellow: Warning, Grey: Not Supported
Score -- Passes: 2 points, Warning: 1 point, in percent of possible points (this should be updated to count optional features differently)
Test Case | Firefox 50 | Microsoft IE 11.576 | Safari 7 | Google Chrome 55 | Konqueror 5.0.97 | |
---|---|---|---|---|---|---|
Summary | Score: 100 | Score: 92 | Score: 96 | Score: 100 | Score: 90 | |
300 (Multiple Choices) | t300empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t300body | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t300loc | pass (follows redirect) | pass (follows redirect) | pass (displays empty page) | pass (displays empty page) | pass (follows redirect) | |
t300bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (displays response body) | pass (displays response body) | pass (follows redirect) | |
301 (Moved Permanently) | t301empty | pass (displays empty page) | pass (displays "Internet Explorer cannot display the webpage") | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t301body | pass (displays response body) | fail (displays "Internet Explorer cannot display the webpage") | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t301loc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t301bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t301methods | pass | pass | pass | pass | fail (HEAD apparently times out (also: POST not rewritten to GET!) (see KDE Bug 330795) | |
302 (Found) | t302empty | pass (displays empty page) | pass (displays "Internet Explorer cannot display the webpage") | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t302body | pass (displays response body) | fail (displays "Internet Explorer cannot display the webpage") | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t302loc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t302bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t302methods | pass | pass | pass | pass | fail (HEAD apparently times out (also: POST not rewritten to GET!) (see KDE Bug 330795) | |
303 (See Other) | t303empty | pass (displays empty page) | pass (displays "Internet Explorer cannot display the webpage") | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t303body | pass (displays response body) | fail (displays "Internet Explorer cannot display the webpage") | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t303loc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t303bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t303methods | pass | pass | fail (HEAD rewritten to GET) | pass | fail (HEAD apparently times out, all other methods preserved! (see KDE Bug 330795) | |
304 (Not Modified) | t304empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays "This webpage is not found") | pass (displays empty page) |
t304body | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays "This webpage is not found") | pass (displays empty page) | |
t304loc | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays "This webpage is not found") | pass (displays empty page) | |
t304bodyandloc | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays "This webpage is not found") | pass (displays empty page) | |
305 (Use Proxy) | t305empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t305body | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t305loc | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (follows redirect) | |
t305bodyandloc | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (follows redirect) | |
306 | t306empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t306body | pass (displays response body) | pass (displays response body) | pass (displays empty page) | pass (displays response body) | pass (displays response body) | |
t306loc | pass (displays empty page) | pass (displays empty page) | pass (follows redirect) | pass (displays empty page) | pass (displays empty page) | |
t306bodyandloc | pass (displays response body) | pass (displays response body) | pass (follows redirect) | pass (displays response body) | pass (displays response body) | |
307 (Temporary Redirect) | t307empty | pass (displays empty page) | pass (displays "Internet Explorer cannot display the webpage") | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t307body | pass (displays response body) | fail (displays "Internet Explorer cannot display the webpage") | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t307loc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t307bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t307methods | pass | pass | pass | pass | fail (HEAD apparently times out (see KDE Bug 330795) | |
308 (Permanent Redirect) | t308empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t308body | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t308loc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t308bodyandloc | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | pass (follows redirect) | |
t308methods | pass | pass | pass | pass | fail (HEAD apparently times out (see KDE Bug 330795)) | |
399 | t399empty | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) | pass (displays empty page) |
t399body | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | pass (displays response body) | |
t399loc | pass (displays empty page) | pass (displays empty page) | pass (follows redirect) | pass (displays empty page) | pass (follows redirect) | |
t399bodyandloc | pass (displays response body) | pass (displays response body) | pass (follows redirect) | pass (displays response body) | pass (follows redirect) | |
Fragment Handling | tfnry | pass (#A) | pass (#A) | pass (#A) | pass (#A) | pass (#A) |
tfyrn | pass (#B) | pass (#B) | fail (none!) | pass (#B) | pass (#B) | |
tfyry | pass (#A) | pass (#A) | pass (#A) | pass (#A) | pass (#A) |
Various tests checking status code 300.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 300, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 300, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (follows redirect) |
Status code 300, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (follows redirect) |
Status code 300, Location header field, with body
Result for this UA:
Various tests checking status code 301.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 301, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | fail (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 301, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 301, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 301, Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass |
MSIE11 | pass |
Safari | pass |
Chr55 | pass |
Konq | fail (HEAD apparently times out (also: POST not rewritten to GET!) (see KDE Bug 330795) |
method handling for 301 redirects
method should be preserved except for POST that may be rewritten to GET
Various tests checking status code 302.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 302, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | fail (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 302, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 302, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 302, Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass |
MSIE11 | pass |
Safari | pass |
Chr55 | pass |
Konq | fail (HEAD apparently times out (also: POST not rewritten to GET!) (see KDE Bug 330795) |
method handling for 302 redirects
method should be preserved except for POST that may be rewritten to GET
Various tests checking status code 303.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 303, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | fail (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 303, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 303, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 303, Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass |
MSIE11 | pass |
Safari | fail (HEAD rewritten to GET) |
Chr55 | pass |
Konq | fail (HEAD apparently times out, all other methods preserved! (see KDE Bug 330795) |
method handling for 303 redirects
method should be rewritten to GET except for HEAD
Various tests checking status code 304.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays "This webpage is not found") |
Konq | pass (displays empty page) |
Status code 304, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays "This webpage is not found") |
Konq | pass (displays empty page) |
Status code 304, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays "This webpage is not found") |
Konq | pass (displays empty page) |
Status code 304, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays "This webpage is not found") |
Konq | pass (displays empty page) |
Status code 304, Location header field, with body
Result for this UA:
Various tests checking status code 305.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 305, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 305, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (follows redirect) |
Status code 305, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (follows redirect) |
Status code 305, Location header field, with body
Result for this UA:
Various tests checking status code 306.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 306, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays empty page) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 306, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (follows redirect) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 306, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (follows redirect) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 306, Location header field, with body
Result for this UA:
Various tests checking status code 307.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 307, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | fail (displays "Internet Explorer cannot display the webpage") |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 307, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 307, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 307, Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass |
MSIE11 | pass |
Safari | pass |
Chr55 | pass |
Konq | fail (HEAD apparently times out (see KDE Bug 330795) |
method handling for 307 redirects
method should be preserved in all cases
Various tests checking status code 308
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 308, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 308, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 308, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (follows redirect) |
MSIE11 | pass (follows redirect) |
Safari | pass (follows redirect) |
Chr55 | pass (follows redirect) |
Konq | pass (follows redirect) |
Status code 308, Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass |
MSIE11 | pass |
Safari | pass |
Chr55 | pass |
Konq | fail (HEAD apparently times out (see KDE Bug 330795)) |
method handling for 308 redirects
method should be preserved in all cases
Various tests checking status code 399, which, unless known, should be treated just like status code 300.
See also HTTPbis issue 325.
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (displays empty page) |
Chr55 | pass (displays empty page) |
Konq | pass (displays empty page) |
Status code 399, no Location header field, no content
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (displays response body) |
Chr55 | pass (displays response body) |
Konq | pass (displays response body) |
Status code 399, no Location header field, with body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays empty page) |
MSIE11 | pass (displays empty page) |
Safari | pass (follows redirect) |
Chr55 | pass (displays empty page) |
Konq | pass (follows redirect) |
Status code 399, Location header field, no body
Result for this UA:
Test Results | |
---|---|
FF50 | pass (displays response body) |
MSIE11 | pass (displays response body) |
Safari | pass (follows redirect) |
Chr55 | pass (displays response body) |
Konq | pass (follows redirect) |
Status code 399, Location header field, with body
Result for this UA:
Various tests checking handling of fragment identifiers.
Test Results | |
---|---|
FF50 | pass (#A) |
MSIE11 | pass (#A) |
Safari | pass (#A) |
Chr55 | pass (#A) |
Konq | pass (#A) |
Status code 302, Location header field present with fragment identifier "A" on redirect URI. See also HTTPbis issue 43.
Result for this UA:
Test Results | |
---|---|
FF50 | pass (#B) |
MSIE11 | pass (#B) |
Safari | fail (none!) |
Chr55 | pass (#B) |
Konq | pass (#B) |
Status code 302, source resource with fragment identifier "B", Location header field present without fragment identifier on redirect URI. See also HTTPbis issue 295.
Should navigate to fragment "B" (see Section 7.1.2 of RFC7231)
Result for this UA:
Test Results | |
---|---|
FF50 | pass (#A) |
MSIE11 | pass (#A) |
Safari | pass (#A) |
Chr55 | pass (#A) |
Konq | pass (#A) |
Status code 302, source resource with fragment identifier "B", Location header field present with fragment identifier "A" on redirect URI. See also HTTPbis issue 43.
Result for this UA:
Both this document and the indiviual test "scripts" are generated from one single XML source (httpcontenttype.xml), using an XSLT2 transformation (httpcontenttype.xslt).
To generate the files, an XSLT2 processor such as Saxon 9 is needed. Copy both files into an empty directory, then run:
saxon9 httpredirects.xml httpredirects.xslt > index.html
Note that this will also generate a set of "asis" files that contain the actual test cases. These can be served using the Apache httpd mod_asis module.