servlet 如何知道浏览器禁用了 cookie?
Posted
技术标签:
【中文标题】servlet 如何知道浏览器禁用了 cookie?【英文标题】:How does the servlet know that the browser has disabled cookies? 【发布时间】:2019-11-08 18:24:36 【问题描述】:如果有人能解释一下 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 已被禁用。
【问题讨论】:
【参考方案1】:servlet 如何判断 cookie 已被禁用
他们不能。 首次创建会话时,服务器将会话 ID 作为 cookie 和 URL 重写发送。在第二个请求中,如果它收到会话 cookie,则停止重写 URL。
【讨论】:
以上是关于servlet 如何知道浏览器禁用了 cookie?的主要内容,如果未能解决你的问题,请参考以下文章