天天看點

php 303,HTTP 的重定向301,302,303,307(轉)

301 永久重定向,告訴用戶端以後應從新位址通路.

302 作為HTTP1.0的标準,以前叫做Moved Temporarily ,現在叫Found.

現在使用隻是為了相容性的處理,包括PHP的預設Location重定向用的也是302.

但是HTTP 1.1 有303 和307作為詳細的補充,其實是對302的細化

303:對于POST請求,它表示請求已經被處理,用戶端可以接着使用GET方法去請求Location裡的URI。

307:對于POST請求,表示請求還沒有被處理,用戶端應該向Location裡的URI重新發起POST請求。

實際測試:

測試内容:

寫一個測試的test.html代碼,發起post請求到test.php頁面中

test.php頁面分别給出3種重定向處理,都跳到test2.php

test2.php列印出post的結果

(至于怎麼寫..自己查手冊吧,PHP發送頭很容易.)

....

301 => "HTTP/1.1 301

Moved Permanently",

302 => "HTTP/1.1 302

Found",

303 => "HTTP/1.1 303

See Other",

307 => "HTTP/1.1 307

Temporary Redirect",

....

測試結果:

301,302和303的處理結果是一樣的,直接跳轉到test2.php,post沒有内容

307的會重新post請求到test2.php,并且給出頁面提示

來源:http://leexj1981.blog.163.com/blog/static/14393065920103192952974/