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

Posted YangBin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了HTTP 的重定向301,302,303,307(转)相关的知识,希望对你有一定的参考价值。

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

 (2012-12-11 11:55:04)
标签: 

杂谈

分类: 网络

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/

 
转:链接

以上是关于HTTP 的重定向301,302,303,307(转)的主要内容,如果未能解决你的问题,请参考以下文章

301,302,303,307重定向区别

http 状态码301、302、303、307、308 的区别

http状态吗307,303,302的区别

http状态吗307,303,302的区别

对动态短网址使用 301/303/307 重定向

我应该在提交表单后使用 301、302 还是 303 重定向?