一尘不染

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

jsp

我需要将用户从一个页面重定向到另一页面,但是我需要维护原始的引用字符串。因此,例如,如果它们以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重定向的行为是否更可靠?


阅读 268

收藏
2020-06-08

共1个答案

一尘不染

简短的答案是,在Referer标头或302状态代码中,相关的RFC 2616
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.36中未指定。

最好的选择是对多个浏览器进行测试,看看是否存在共识行为。

对于完整的皮带和花括号,请在重定向URL中对原始引荐来源网址进行编码,以确保可以检索到它。

2020-06-08