Test Cases for HTTP Redirects

Please send feedback to julian.reschke@gmx.de.

Note: Work-in-progress

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 CaseFirefox 18Microsoft IE 9Microsoft IE 10 (Consumer Preview)Opera 12Safari 5.1Google Chrome 22Konqueror 4.7.2
Summary100% passes, 0% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 100
89% passes, 11% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 89
91% passes, 9% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 91
85% passes, 15% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 85
89% passes, 11% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 89
100% passes, 0% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 100
64% passes, 36% failures, 0% warnings, 0% unsupported, 0% to-do
Score: 64
300 (Multiple Choices)t300emptypass (displays empty page) pass (displays empty page) pass (displays "Redirection Status" help page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t300bodypass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t300locpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (displays empty page) pass (displays empty page) pass (follows redirect)
t300bodyandlocpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (displays response body) pass (displays response body) pass (follows redirect)
301 (Moved Permanently)t301emptypass (displays empty page) pass (displays "Internet Explorer cannot display the webpage") pass (displays "Redirection Status" help page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t301bodypass (displays response body) fail (displays "Internet Explorer cannot display the webpage") pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t301locpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t301bodyandlocpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t301HEADpass (redirected using HEAD) pass (redirected using HEAD) fail (test does not execute) fail (redirected using GET) pass (redirected using HEAD) fail (tests do not execute)
t301POSTpass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) fail (tests do not execute)
t301PUTpass (redirected using PUT) pass (redirected using PUT) fail (redirected using GET) fail (redirected using GET) pass (redirected using PUT) fail (tests do not execute)
302 (Found)t302emptypass (displays empty page) pass (displays "Internet Explorer cannot display the webpage") pass (displays "Redirection Status" help page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t302bodypass (displays response body) fail (displays "Internet Explorer cannot display the webpage") pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t302locpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t302bodyandlocpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t302HEADpass (redirected using HEAD) pass (redirected using HEAD) fail (test does not execute) fail (redirected using GET) pass (redirected using HEAD) fail (tests do not execute)
t302POSTpass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) fail (tests do not execute)
t302PUTpass (redirected using PUT) pass (redirected using PUT) fail (redirected using GET) fail (redirected using GET) pass (redirected using PUT) fail (tests do not execute)
303 (See Other)t303emptypass (displays empty page) pass (displays "Internet Explorer cannot display the webpage") pass (displays "Redirection Status" help page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t303bodypass (displays response body) fail (displays "Internet Explorer cannot display the webpage") pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t303locpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t303bodyandlocpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t303HEADpass (redirected using HEAD) fail (redirected using GET) fail (test does not execute) fail (redirected using GET) pass (redirected using HEAD) fail (tests do not execute)
t303POSTpass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) fail (tests do not execute)
t303PUTpass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) pass (redirected using GET) fail (tests do not execute)
304 (Not Modified)t304emptypass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays "This webpage is not found") pass (displays empty page)
t304bodypass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays "This webpage is not found") pass (displays empty page)
t304locpass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays "This webpage is not found") pass (displays empty page)
t304bodyandlocpass (displays empty page) 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)t305emptypass (displays empty page) pass (displays empty page) pass (displays 'The server tried to redirect Opera to the alternative proxy "". For security reasons this is no longer supported.') pass (displays empty page) pass (displays empty page) pass (displays empty page)
t305bodypass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body)
t305locpass (displays empty page) pass (displays empty page) pass (displays 'The server tried to redirect Opera to the alternative proxy "305.txt". For security reasons this is no longer supported.') pass (displays empty page) pass (displays empty page) pass (follows redirect)
t305bodyandlocpass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (follows redirect)
306t306emptypass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t306bodypass (displays response body) pass (displays response body) pass (displays response body) pass (displays empty page) pass (displays response body) fail (does not display response body)
t306locpass (displays empty page) pass (displays empty page) pass (displays empty page) pass (follows redirect) pass (displays empty page) pass (displays empty page)
t306bodyandlocpass (displays response body) pass (displays response body) pass (displays response body) pass (follows redirect) pass (displays response body) pass (displays response body)
307 (Temporary Redirect)t307emptypass (displays empty page) pass (displays "Internet Explorer cannot display the webpage") pass (displays "Redirection Status" help page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t307bodypass (displays response body) fail (displays "Internet Explorer cannot display the webpage") pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t307locpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t307bodyandlocpass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect) pass (follows redirect)
t307HEADpass (redirected using HEAD) pass (redirected using HEAD) fail (test does not execute) pass (redirected using HEAD) pass (redirected using HEAD) fail (tests do not execute)
t307POSTpass (redirected using POST) pass (redirected using POST) fail (test does not execute) pass (redirected using POST) pass (redirected using POST) fail (tests do not execute)
t307PUTpass (redirected using PUT) pass (redirected using PUT) fail (test does not execute) pass (redirected using PUT) pass (redirected using PUT) fail (tests do not execute)
308 (Permanent Redirect)t308emptypass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t308bodypass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t308locpass (follows redirect) pass (displays empty page) pass (displays empty page) pass (follows redirect) pass (displays empty page (see Chrome Issue 109012)) pass (follows redirect)
t308bodyandlocpass (follows redirect) pass (displays response body) pass (displays response body) pass (follows redirect) pass (displays response body (see Chrome Issue 109012)) pass (follows redirect)
399t399emptypass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page) pass (displays empty page)
t399bodypass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) pass (displays response body) fail (does not display response body)
t399locpass (displays empty page) pass (displays empty page) pass (displays empty page) pass (follows redirect) pass (displays empty page) pass (follows redirect)
t399bodyandlocpass (displays response body) pass (displays response body) pass (displays response body) pass (follows redirect) pass (displays response body) pass (follows redirect)
Fragment Handlingtfnrypass (#A) pass (#A) pass (#A) pass (#A) pass (#A) pass (#A)
tfyrnpass (#B) fail (none!) pass (#B) pass (#B) fail (none!) pass (#B) pass (#B)
tfyrypass (#A) pass (#A) pass (#A) pass (#A) pass (#A) pass (#A)

Test Cases

300 (Multiple Choices)

Various tests checking status code 300.

t300empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays "Redirection Status" help page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 300, no Location header field, no content

Result for this UA:

t300body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 300, no Location header field, with body

Result for this UA:

t300loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (follows redirect)

Status code 300, Location header field, no body

Result for this UA:

t300bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqpass (follows redirect)

Status code 300, Location header field, with body

Result for this UA:

301 (Moved Permanently)

Various tests checking status code 301.

t301empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays "Internet Explorer cannot display the webpage")
MSIE10pass (displays "Internet Explorer cannot display the webpage")
Operapass (displays "Redirection Status" help page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 301, no Location header field, no content

Result for this UA:

t301body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9fail (displays "Internet Explorer cannot display the webpage")
MSIE10fail (displays "Internet Explorer cannot display the webpage")
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 301, no Location header field, with body

Result for this UA:

t301loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 301, Location header field, no body

Result for this UA:

t301bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 301, Location header field, with body

Result for this UA:

t301HEAD [TEST]

Test Results
FF18pass (redirected using HEAD)
MSIE9pass (redirected using HEAD)
MSIE10pass (redirected using HEAD)
Operafail (test does not execute)
Safarifail (redirected using GET)
Chr22pass (redirected using HEAD)
Konqfail (tests do not execute)

HEAD request redirected with status code 301

redirected request should happen with HEAD again

t301POST [TEST]

Test Results
FF18pass (redirected using GET)
MSIE9pass (redirected using GET)
MSIE10pass (redirected using GET)
Operapass (redirected using GET)
Safaripass (redirected using GET)
Chr22pass (redirected using GET)
Konqfail (tests do not execute)

POST request redirected with status code 301

redirected request should happen with either GET or POST

t301PUT [TEST]

Test Results
FF18pass (redirected using PUT)
MSIE9pass (redirected using PUT)
MSIE10pass (redirected using PUT)
Operafail (redirected using GET)
Safarifail (redirected using GET)
Chr22pass (redirected using PUT)
Konqfail (tests do not execute)

PUT request redirected with status code 301

redirected request should happen with PUT again

302 (Found)

Various tests checking status code 302.

t302empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays "Internet Explorer cannot display the webpage")
MSIE10pass (displays "Internet Explorer cannot display the webpage")
Operapass (displays "Redirection Status" help page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 302, no Location header field, no content

Result for this UA:

t302body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9fail (displays "Internet Explorer cannot display the webpage")
MSIE10fail (displays "Internet Explorer cannot display the webpage")
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 302, no Location header field, with body

Result for this UA:

t302loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 302, Location header field, no body

Result for this UA:

t302bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 302, Location header field, with body

Result for this UA:

t302HEAD [TEST]

Test Results
FF18pass (redirected using HEAD)
MSIE9pass (redirected using HEAD)
MSIE10pass (redirected using HEAD)
Operafail (test does not execute)
Safarifail (redirected using GET)
Chr22pass (redirected using HEAD)
Konqfail (tests do not execute)

HEAD request redirected with status code 302

redirected request should happen with HEAD again

t302POST [TEST]

Test Results
FF18pass (redirected using GET)
MSIE9pass (redirected using GET)
MSIE10pass (redirected using GET)
Operapass (redirected using GET)
Safaripass (redirected using GET)
Chr22pass (redirected using GET)
Konqfail (tests do not execute)

POST request redirected with status code 302

redirected request should happen with either GET or POST

t302PUT [TEST]

Test Results
FF18pass (redirected using PUT)
MSIE9pass (redirected using PUT)
MSIE10pass (redirected using PUT)
Operafail (redirected using GET)
Safarifail (redirected using GET)
Chr22pass (redirected using PUT)
Konqfail (tests do not execute)

PUT request redirected with status code 302

redirected request should happen with PUT again

303 (See Other)

Various tests checking status code 303.

t303empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays "Internet Explorer cannot display the webpage")
MSIE10pass (displays "Internet Explorer cannot display the webpage")
Operapass (displays "Redirection Status" help page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 303, no Location header field, no content

Result for this UA:

t303body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9fail (displays "Internet Explorer cannot display the webpage")
MSIE10fail (displays "Internet Explorer cannot display the webpage")
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 303, no Location header field, with body

Result for this UA:

t303loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 303, Location header field, no body

Result for this UA:

t303bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 303, Location header field, with body

Result for this UA:

t303HEAD [TEST]

Test Results
FF18pass (redirected using HEAD)
MSIE9fail (redirected using GET)
MSIE10fail (redirected using GET)
Operafail (test does not execute)
Safarifail (redirected using GET)
Chr22pass (redirected using HEAD)
Konqfail (tests do not execute)

HEAD request redirected with status code 302

redirected request should happen with HEAD again

t303POST [TEST]

Test Results
FF18pass (redirected using GET)
MSIE9pass (redirected using GET)
MSIE10pass (redirected using GET)
Operapass (redirected using GET)
Safaripass (redirected using GET)
Chr22pass (redirected using GET)
Konqfail (tests do not execute)

POST request redirected with status code 302

redirected request should happen with GET

t303PUT [TEST]

Test Results
FF18pass (redirected using GET)
MSIE9pass (redirected using GET)
MSIE10pass (redirected using GET)
Operapass (redirected using GET)
Safaripass (redirected using GET)
Chr22pass (redirected using GET)
Konqfail (tests do not execute)

PUT request redirected with status code 302

redirected request should happen with GET

304 (Not Modified)

Various tests checking status code 304.

t304empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays "This webpage is not found")
Konqpass (displays empty page)

Status code 304, no Location header field, no content

Result for this UA:

t304body [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays "This webpage is not found")
Konqpass (displays empty page)

Status code 304, no Location header field, with body

Result for this UA:

t304loc [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays "This webpage is not found")
Konqpass (displays empty page)

Status code 304, Location header field, no body

Result for this UA:

t304bodyandloc [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays "This webpage is not found")
Konqpass (displays empty page)

Status code 304, Location header field, with body

Result for this UA:

305 (Use Proxy)

Various tests checking status code 305.

t305empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays 'The server tried to redirect Opera to the alternative proxy "". For security reasons this is no longer supported.')
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 305, no Location header field, no content

Result for this UA:

t305body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqpass (displays response body)

Status code 305, no Location header field, with body

Result for this UA:

t305loc [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays 'The server tried to redirect Opera to the alternative proxy "305.txt". For security reasons this is no longer supported.')
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (follows redirect)

Status code 305, Location header field, no body

Result for this UA:

t305bodyandloc [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqpass (follows redirect)

Status code 305, Location header field, with body

Result for this UA:

306

Various tests checking status code 306.

t306empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 306, no Location header field, no content

Result for this UA:

t306body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays empty page)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 306, no Location header field, with body

Result for this UA:

t306loc [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (follows redirect)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 306, Location header field, no body

Result for this UA:

t306bodyandloc [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (follows redirect)
Chr22pass (displays response body)
Konqpass (displays response body)

Status code 306, Location header field, with body

Result for this UA:

307 (Temporary Redirect)

Various tests checking status code 307.

t307empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays "Internet Explorer cannot display the webpage")
MSIE10pass (displays "Internet Explorer cannot display the webpage")
Operapass (displays "Redirection Status" help page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 307, no Location header field, no content

Result for this UA:

t307body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9fail (displays "Internet Explorer cannot display the webpage")
MSIE10fail (displays "Internet Explorer cannot display the webpage")
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 307, no Location header field, with body

Result for this UA:

t307loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 307, Location header field, no body

Result for this UA:

t307bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (follows redirect)
MSIE10pass (follows redirect)
Operapass (follows redirect)
Safaripass (follows redirect)
Chr22pass (follows redirect)
Konqpass (follows redirect)

Status code 307, Location header field, with body

Result for this UA:

t307HEAD [TEST]

Test Results
FF18pass (redirected using HEAD)
MSIE9pass (redirected using HEAD)
MSIE10pass (redirected using HEAD)
Operafail (test does not execute)
Safaripass (redirected using HEAD)
Chr22pass (redirected using HEAD)
Konqfail (tests do not execute)

HEAD request redirected with status code 307

redirected request should happen with HEAD again

t307POST [TEST]

Test Results
FF18pass (redirected using POST)
MSIE9pass (redirected using POST)
MSIE10pass (redirected using POST)
Operafail (test does not execute)
Safaripass (redirected using POST)
Chr22pass (redirected using POST)
Konqfail (tests do not execute)

POST request redirected with status code 307

redirected request shappen with POST again

t307PUT [TEST]

Test Results
FF18pass (redirected using PUT)
MSIE9pass (redirected using PUT)
MSIE10pass (redirected using PUT)
Operafail (test does not execute)
Safaripass (redirected using PUT)
Chr22pass (redirected using PUT)
Konqfail (tests do not execute)

PUT request redirected with status code 307

redirected request should happen with PUT again

308 (Permanent Redirect)

Various tests checking status code 308 (yes, just an Internet Draft).

See also HTTPbis issue 312.

t308empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 308, no Location header field, no content

Result for this UA:

t308body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 308, no Location header field, with body

Result for this UA:

t308loc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (follows redirect)
Chr22pass (displays empty page (see Chrome Issue 109012))
Konqpass (follows redirect)

Status code 308, Location header field, no body

Result for this UA:

t308bodyandloc [TEST] [R]

Test Results
FF18pass (follows redirect)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (follows redirect)
Chr22pass (displays response body (see Chrome Issue 109012))
Konqpass (follows redirect)

Status code 308, Location header field, with body

Result for this UA:

399

Various tests checking status code 399, which, unless known, should be treated just like status code 300.

See also HTTPbis issue 325.

t399empty [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (displays empty page)
Chr22pass (displays empty page)
Konqpass (displays empty page)

Status code 399, no Location header field, no content

Result for this UA:

t399body [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (displays response body)
Chr22pass (displays response body)
Konqfail (does not display response body)

Status code 399, no Location header field, with body

Result for this UA:

t399loc [TEST] [R]

Test Results
FF18pass (displays empty page)
MSIE9pass (displays empty page)
MSIE10pass (displays empty page)
Operapass (displays empty page)
Safaripass (follows redirect)
Chr22pass (displays empty page)
Konqpass (follows redirect)

Status code 399, Location header field, no body

Result for this UA:

t399bodyandloc [TEST] [R]

Test Results
FF18pass (displays response body)
MSIE9pass (displays response body)
MSIE10pass (displays response body)
Operapass (displays response body)
Safaripass (follows redirect)
Chr22pass (displays response body)
Konqpass (follows redirect)

Status code 399, Location header field, with body

Result for this UA:

Fragment Handling

Various tests checking handling of fragment identifiers.

tfnry [TEST] [R]

Test Results
FF18pass (#A)
MSIE9pass (#A)
MSIE10pass (#A)
Operapass (#A)
Safaripass (#A)
Chr22pass (#A)
Konqpass (#A)

Status code 302, Location header field present with fragment identifier "A" on redirect URI. See also HTTPbis issue 43.

Result for this UA:

tfyrn [TEST] [R]

Test Results
FF18pass (#B)
MSIE9fail (none!)
MSIE10pass (#B)
Operapass (#B)
Safarifail (none!)
Chr22pass (#B)
Konqpass (#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 10.5 of draft-ietf-httpbis-p2-semantics-19)

Result for this UA:

tfyry [TEST] [R]

Test Results
FF18pass (#A)
MSIE9pass (#A)
MSIE10pass (#A)
Operapass (#A)
Safaripass (#A)
Chr22pass (#A)
Konqpass (#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:

Test Case Generation

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.