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發送頭很容易.)

  1. ....
  2. 301 => "HTTP/1.1 301 Moved Permanently",
  3. 302 => "HTTP/1.1 302 Found",
  4. 303 => "HTTP/1.1 303 See Other",
  5. 307 => "HTTP/1.1 307 Temporary Redirect",
  6. ....

測試結果:
301,302和303的處理結果是一樣的,直接跳轉到test2.php,post沒有內容
307的會重新post請求到test2.php,並且給出頁面提示

 

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章