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/