您的位置:首页 > 理论基础 > 计算机网络

HTTP 的重定向301,302,303,307

2015-12-22 12:41 573 查看
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,并且给出页面提示
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  302 307 状态码