发新话题
打印

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

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,并且给出页面提示

TOP

发新话题