0

如果有人能解释 servlet 如何判断客户端浏览器上的 cookie 已被禁用,我将不胜感激。

我知道在 servlet 中创建会话时:如果启用了 cookie,服务器会将 sessionID 作为 cookie 返回。如果 cookie 被禁用,sessionID 将被写入 URL。

我不明白的是服务器如何知道 cookie 已被禁用。HTTP 是一种无状态协议,服务器无法(据我所知)告诉客户端已禁用 cookie。我希望服务器不会在请求标头中接收 cookie,但这可能意味着首先没有设置任何 cookie。

我已经检查了这些答案: Servlet HttpSession cookies disabled Manage Session when broswer has disable cookies

他们都解释了如何启用 URL 重写,但没有解释服务器如何知道客户端上的 cookie 已被禁用。

4

1 回答 1

0

servlet 如何判断 cookie 已被禁用

他们不能。首次创建会话时,服务器将会话 ID 作为 cookie 和 URL 重写发送。在第二个请求中,如果它接收到会话 cookie,那么它会停止重写 URL。

于 2019-06-28T20:35:20.577 回答