为了账号安全,请及时绑定邮箱和手机立即绑定

302重定向会保留引用字符串吗?

302重定向会保留引用字符串吗?

慕沐林林 2019-11-13 15:25:05
我需要将用户从一个页面重定向到另一页面,但是我需要维护原始的引用字符串。因此,例如,如果它们以http://www.othersite.com/pageA.jsp开头,则单击将其带到http://www.mysite.com/pageB.jsp的链接,然后执行302重定向到http://www.mysite.com/pageC.jsp,我需要引用字符串包含“ http://www.othersite.com/pageA.jsp ”这是302重定向的正常行为吗?还是会放弃我的原始引荐来源,而推荐使用“ http://www.mysite.com/pageB.jsp ”?那是不希望的。我不知道它是否有任何区别,但是我正在JSP中工作,并且正在使用response.sendRedirect()执行302重定向。我应该提到我对此进行了实验,并且似乎保留了原始引荐字符串(“ http://www.othersite.com/pageA.jsp ”),但我只是想确保这是正常的默认值行为,而不是怪异的东西。谢谢您的帮助。编辑添加:尽管我当前使用的是302重定向,但我可能可以使用301重定向。您知道301重定向的行为是否更可靠?
查看完整描述

3 回答

?
繁星coding

TA贡献1797条经验 获得超4个赞

好问题。在这种情况下,引荐来源网址的发送完全取决于浏览器(因为告知浏览器向新资源提出另一个请求)。


RFC 2616对此问题保持沉默:


所请求的资源临时位于其他URI下。由于重定向有时可能会更改,因此客户端应继续将Request-URI用于将来的请求。仅当由Cache-Control或Expires标头字段指示时,此响应才可缓存。


我不相信浏览器会发送正确的引荐来源。我敢打赌,至少有一个发送的东西不同于其他东西。


解决方法


如果可以,为什么不?override_referer=<old_url>向重定向到的URL 添加参数,然后解析该值而不是HTTP_REFERER。


这样,您可以确保始终获得正确的结果,并且在安全方面不会损失任何东西:引用者可以以任何一种方式进行伪造。


查看完整回答
反对 回复 2019-11-13
  • 3 回答
  • 0 关注
  • 336 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号