码迷,mamicode.com
首页 > Web开发 > 详细

HTTP状态码302、303、307区别

时间:2018-03-02 22:10:54      阅读:245      评论:0      收藏:0      [点我收藏+]

标签:处理   另一个   使用   删除   track   markdown   返回   客户端   保存   

HTTP状态码3XX表示重定向,表明浏览器需要执行某些特殊的处理以正确处理请求。

301 Moved Permanently 
永久性定向。该状态码表示请求的资源已被分配了新的URI,以后应使用资源现在所指的URI。

302 Found 
临时性重定向。该状态码表示请求的资源已被分配了新的URI,希望用户(本次)能使用新的URI访问。和301相似,但302表示的资源不是永久移动,只是临时性的。换句话说,已移动的资源对应的URI将来还有可能发生变化,比如,用户把uri保存为书签,但不会像301状态码出现时那样更新书签,而是仍旧保留返回302状态码的页面对应的uri

303 See Other 
该状态码表示由于请求对应的资源存在着另一个URI,应使用GET方法定向获取请求的资源,=, 
303和302状态码有着相同的功能,但是303明确表示客户端应当采用get方法获取资源,这点与302状态码有区别。 
比如,当使用post方法访问CGI程序,其执行后的处理结果为希望客户端能以get方法重定向到另一个uri上去时,返回303状态码。虽然302也可实现相同的功能,但这里使用302状态码是最理想的。

当301、302、303响应状态码返回时,几乎所有浏览器都会把post改成get,并删除请求报文内的主体,之后请求会自动再次发送。 
301、302标准是禁止将post方法改变成get方法的,但实际使用时大家都会这么做。

307 Temporary Redirect 
临时重定向。该状态码与302有相同的含义。尽管302标准禁止post变化get,但实际使用时大家不遵守。 
307会遵照浏览器标准,不会从post变为get。但是对于处理响应时的行为,各种浏览器有可能出现不同的情况。

 

HTTP状态码302、303、307区别

标签:处理   另一个   使用   删除   track   markdown   返回   客户端   保存   

原文地址:https://www.cnblogs.com/aliwa/p/8495014.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!