gpt4 book ai didi

java - 为什么浏览器能够查看最大年龄为 0 的 cookie 而编程语言却不能?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:42:10 25 4
gpt4 key购买 nike

为什么浏览器可以查看过期的 cookie,但如果您想使用编程语言访问它却无法访问?

如果cookie已经过期那么为什么它在浏览器中是可见的,所有的数据和信息也是可见的。但同样无法通过编程实现。

在某个地方我认为这是一个新手问题,但我想知道我们的代码如何访问 cookie 以及浏览器如何访问 cookie 背后的功能。

注意:-请用有效的例子详细解释。

Controller :-

Cookie ck =  new Cookie("data", "data");
ck.maxAge = 0;
response.addCookie(ck);

页面收到的响应:-

<% for(coki in request.getCookies()){
System.out.println(coki.name);
System.out.println(coki.value);
} %>

最佳答案

您的 Controller 正在将 cookie 添加到响应中,但在您的页面中您正试图从请求中读取它。

(我在这里假设您的 Controller 支持同一页面)

您将在浏览器中看到它,因为浏览器在响应中接收到 cookie。如果您想在页面中将其可视化,则需要从响应中获取它们。但是响应中没有 getCookies 方法,因为它们不应该这样使用。

Browser                   Page                    Controller
| --------req------------+------------------------>|
| | | {controller adds cookie to response}
| |<-----req,res+cookie-----|
| | | {page renders cookies from request}
| | | {but there are none}
|<------res+cookie-------| |
| | |
|--------req#2-----------+------------------------>| {subsequent requests arrive without
cookie since it expired}

关于java - 为什么浏览器能够查看最大年龄为 0 的 cookie 而编程语言却不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32110045/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com