Kim*_*ble 4 redirect servlets http
我对此感到非常困惑。我的Web应用程序使用依赖于JSESSIONID cookie的Spring Security来维护用户会话。
我的其中一个页面执行302重定向到同一域中的另一个页面(仍为http),而不切换到https或其他任何形式。出于某种原因,浏览器(在本例中为Chrome)未通过第二个请求传递cookie,并且用户失去了会话。
这是预期的http行为吗?我可能会丢失一些东西。
请注意,Cookie已在重定向之前设置,我没有在与重定向相同的响应中设置Cookie。
回答我自己的问题。事实证明,从 post 请求重定向时必须使用 303(请参阅其他)响应。
来自 RFC 2616
10.3.4 303 查看其他
可以在不同的 URI 下找到对请求的响应,并且应该使用该资源上的 GET 方法来检索。此方法的存在主要是为了允许 POST 激活的脚本的输出将用户代理重定向到选定的资源。新的 URI 不是原始请求资源的替代引用。303 响应不得被缓存,但对第二个(重定向)请求的响应可能是可缓存的。
归档时间: |
|
查看次数: |
15238 次 |
最近记录: |