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/