首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么即使过期时间已到,http cookie也不会被删除

即使过期时间已到,HTTP Cookie 也不会被删除的原因是因为浏览器在处理 Cookie 时遵循一种叫做“持久化 Cookie”的机制。持久化 Cookie 是一种在客户端存储的小型文本文件,用于跟踪用户的会话信息和个人偏好。

持久化 Cookie 有一个过期时间,当过期时间到达后,浏览器会将该 Cookie 标记为过期,但并不会立即删除。相反,浏览器会继续保留该 Cookie,并在每次请求中将其发送到服务器。服务器在接收到请求时会检查 Cookie 的过期时间,如果过期时间已到,则服务器会忽略该 Cookie。

这种设计有以下几个原因:

  1. 跨页面访问:即使过期时间已到,浏览器仍然保留 Cookie,可以确保在用户跳转到其他页面时,仍然可以使用该 Cookie。这对于跨页面的会话管理非常重要,例如购物车功能,用户在添加商品到购物车后,即使跳转到其他页面,购物车信息仍然可以保留。
  2. 服务器端控制:通过设置 Cookie 的过期时间,服务器可以控制 Cookie 的生命周期。服务器可以根据需要设置较长或较短的过期时间,以满足不同的业务需求。
  3. 用户体验:持久化 Cookie 可以提供更好的用户体验。例如,用户在登录后选择“记住我”,浏览器会将登录凭证保存为 Cookie,并在下次访问时自动登录,避免了频繁的登录操作。

需要注意的是,持久化 Cookie 存在一些安全风险。恶意攻击者可以通过窃取 Cookie 来获取用户的敏感信息。为了增强安全性,开发人员应该采取一些措施,如使用 HTTPS 进行通信、设置 HttpOnly 属性以防止脚本访问 Cookie、定期更换 Cookie 等。

腾讯云相关产品和产品介绍链接地址:

  • 腾讯云服务器(CVM):https://cloud.tencent.com/product/cvm
  • 腾讯云对象存储(COS):https://cloud.tencent.com/product/cos
  • 腾讯云人工智能(AI):https://cloud.tencent.com/product/ai
  • 腾讯云区块链(BCS):https://cloud.tencent.com/product/bcs
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

几种浏览器存储方法及其优缺点

的方法比较简单,其中有几个参数可以添加 expires 过期时间,当过了到期日期时,浏览器会自动删除cookie,如果想删除一个cookie,只需要把它过期时间设置成过去的时间即可 比如希望设置过期时间一年...:new Date().getTime() + 365 * 24 * 60 * 60 * 1000 如果不设置过期时间,则表示这个cookie生命周期为浏览器会话期间,只要关闭浏览器窗口,cookie就消失了...: cookie数据始终在同源的http请求中携带(即使不需要),即cookie在浏览器和服务器间来回传递。...存储大小限制不同,cookie数据不能超过4k,同时因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标识。...cookie过期时间之前一直有效,即使窗口或浏览器关闭。

6.6K50

你必须知道的session与cookie

服务器端的sessionid一般是存储在内存中的,通过某种算法加密存储到服务器上,客户端就存储到cookie里面,当页面关闭的时候客户端的sessionid就会消失,而服务器端的session不会因为客户端的消失而关闭...,而是通过他本身设置过期时间之后,才会失效。...那么问题来了,如果客户端的sessionid读取到,就可以伪装身份,对系统进行破坏了,这就是存储型XSS了,那怎么来处理怎么问题呢?这就是接下来要说的Cookie了。...Cookie属性Secure 定义:当Secure属性设置为true时,cookie只有在https协议下才能上传到服务器,而在http协议下是没法上传的,所以不会被窃听。...解释:当Secure=true时,客户端的Cookie不会上传到服务器端的(http协议)。

71630

你必须知道的session与cookie

服务器端的sessionid一般是存储在内存中的,通过某种算法加密存储到服务器上,客户端就存储到cookie里面,当页面关闭的时候客户端的sessionid就会消失,而服务器端的session不会因为客户端的消失而关闭...,而是通过他本身设置过期时间之后,才会失效。...那么问题来了,如果客户端的sessionid读取到,就可以伪装身份,对系统进行破坏了,这就是存储型XSS了,那怎么来处理怎么问题呢?这就是接下来要说的Cookie了。...Cookie属性Secure 定义:当Secure属性设置为true时,cookie只有在https协议下才能上传到服务器,而在http协议下是没法上传的,所以不会被窃听。...解释:当Secure=true时,客户端的Cookie不会上传到服务器端的(http协议)。

95990

很全很全的前端本地存储讲解

cookie可以设置过期时间,默认是会话结束的时候,当时间到期自动销毁 cookie值既可以设置,可以读取。...删除 把要删除cookie过期时间设置成已过去的时间,path/domain/这几个选项一定要旧cookie 保持一样。...cookie的属性(可选项) 过期时间 如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期时间。...时效性的例子 expires 是 http/1.0协议中的选项,在新的http/1.1协议中expires已经由 max-age 选项代替,两者的作用都是限制cookie 的有效时间。...特点 生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。 存储的信息在同一域中是共享的。

1.3K70

一文彻底搞懂cookie、session、token、jwt!

HTTP cookiecookie,最初用于在客户端存储会话信息。...路径: 请求URL中包含这个路径才会把cookie发送到服务器。 过期时间: 表示何时删除cookie。默认在浏览器会话结束后删除所有cookie。...这个值是GMT格式(Wdy,DD-Mon-YYYY HH:MM:SS GMT),用于指定删除cookie的具体时间,这样,即使关闭浏览器cookie不会删除,直到过期。...然而仍然存在这样一个问题,在前后端分离、单页 App 这些情况下,每秒种可能发起很多次请求,每次都去刷新过期时间会产生非常大的代价。如果 Token 的过期时间持久化到数据库或文件,代价就更大了。...现在,认证服务器不信任业务服务器,业务服务器相互不信任,但前端是信任这些服务器的——如果前端不信任,就不会拿 Token 去请求验证。那么为什么会信任?

1.1K30

JWT 还能这样的去理解嘛??

exp(expiration time):JWT 的过期时间。 nbf(not before time):JWT 生效时间,早于该定义的时间的 JWT 不能接受处理。...四、如何防止 JWT 篡改? 有了签名之后,即使 JWT 泄露或者截获,黑客没办法同时篡改 Signature、Header、Payload。 这是为什么呢?...Payload 要加入 exp (JWT 的过期时间),永久有效的 JWT 不合理。并且,JWT 的过期时间不易过长。...前端的每一个请求后续都会附带上这个 JWT,整个过程压根不会涉及到 Cookie。因此,即使你点击了非法链接发送了请求到服务端,这个非法请求也是不会携带 JWT 的,所以这个请求将是非法的。...4、用户登录返回两个 JWT 第一个是 accessJWT ,它的过期时间 JWT 本身的过期时间比如半个小时,另外一个是 refreshJWT 它的过期时间更长一点比如为 1 天。

18610

一文彻底搞懂cookie、session、token、jwt!

HTTP cookiecookie,最初用于在客户端存储会话信息。...路径:请求URL中包含这个路径才会把cookie发送到服务器。 过期时间:表示何时删除cookie。默认在浏览器会话结束后删除所有cookie。...这个值是GMT格式(Wdy,DD-Mon-YYYY HH:MM:SS GMT),用于指定删除cookie的具体时间,这样,即使关闭浏览器cookie不会删除,直到过期。...然而仍然存在这样一个问题,在前后端分离、单页 App 这些情况下,每秒种可能发起很多次请求,每次都去刷新过期时间会产生非常大的代价。如果 Token 的过期时间持久化到数据库或文件,代价就更大了。...现在,认证服务器不信任业务服务器,业务服务器相互不信任,但前端是信任这些服务器的——如果前端不信任,就不会拿 Token 去请求验证。那么为什么会信任?

1.8K20

客户端存储 ---cookie

cookie介绍 HTTP cookie通常叫作cookie,最初用于客户端存储会话信息。这个规范要求服务器在响应HTTP请求的时候,通过发送set-Cookie HTTP头部包含会话信息。...过期时间: 表示何删除 cookie时间戳(即什么时间之后就不发送到服务器了)。默认情况下,浏览器会话结束后会删除所有cookie。不过,可以设置删除cookie的具体时间。...这个值是GMT格式(Wdy, DD-Mon-YYYY HH:MM:SS GMT),用于指定删除cookie时间。...这样即使关闭, 安全标志: 设置之后,只在使用SSL安全连接的情况下才会会发送 cookie,而请求www.wrOx.com 则不会。...不过、 这个cookie只能在SSL 连接上发送,因为设置了secure标志。情况下应该在请求中包含cookie。要知道,域、路径、过期时间和secure标志用于告诉浏览器什值对。

89930

Django(33)Django操作cookie

前言 cookie:在网站中,http请求是无状态的。也就是说即使第一次和服务器连接后并且登录成功后,第二次请求服务器依然不能知道当前请求是哪个用户。...value:这个cookie的value。 max_age:最长的生命周期。单位是秒。 expires:过期时间。...实际上删除cookie就是将指定的cookie的值设置为空的字符串,然后使用将他的过期时间设置为0,也就是浏览器关闭后就过期。...,如下图 然后会出现弹出以下的窗口,点击cookie 我们会查看到自己刚才设置的cookieusername,且过期时间是之前设置的3分钟 接下来我们访问http://127.0.0.1...,如下图 最后我们访问http://127.0.0.1:8000/cookie_app/delete_cookie/删除cookie,浏览器页面返回删除cookie成功,接着我们查看网站的cookie

88840

虾皮二面后续:JWT 身份认证优缺点

为什么 JWT 不会存在这种问题呢?...前端的每一个请求后续都会附带上这个 JWT,整个过程压根不会涉及到 Cookie。因此,即使你点击了非法链接发送了请求到服务端,这个非法请求也是不会携带 JWT 的,所以这个请求将是非法的。...为了避免 XSS 攻击,你可以选择将 JWT 存储在标记为httpOnly 的 Cookie 中。但是,这样又导致了你必须自己提供 CSRF 保护,因此,实际项目中我们通常不会这么做。...但是,使用 JWT 进行认证的话, JWT 保存在客户端,不会存在这些问题。...4、用户登录返回两个 JWT 第一个是 accessJWT ,它的过期时间 JWT 本身的过期时间比如半个小时,另外一个是 refreshJWT 它的过期时间更长一点比如为 1 天。

66310

HTTP相关整理(上)

可以参考 浅谈HTTP中Get与Post的区别。 DNS、HTTP、TCP、IP之间的关系 下图需要补充:在从DNS服务器获取IP后,进行3次握手。 ? 提问:为什么三次握手,二次不可以吗?...304虽划分在3XX类别,但是和重定向没有关系。 307 Temporary Redirect:临时重定向。与302有相同含义。307遵守浏览器标准,不会从POST变成GET。...,服务器端就不存在可以显示删除Cookie的方法。...但可通过覆盖已过期Cookie,实现对客户端Cookie的实质性删除操作。...path:用来指定cookie被发送到服务器的哪一个目录路径下(即被服务器哪个路径接收cookie),其中"/"指的是站点根目录,可在同一台服务器(即使有多个应用)内共享该cookie

88160

【知识】深入理解COOKIE&SESSION的原理和区别

不会持久化 cookie.setMaxAge(-1); resp.addCookie(cookie); 可以看到,当MaxAge为-1时,时间已经过期 image 当...值得注意的是,从客户端读取Cookie时,包括maxAge在内的其他属性都是不可读的,不会被提交。...浏览器提交Cookie时只会提交name和value属性,maxAge属性只浏览器用来判断Cookie是否过期,而不能用服务端来判断。...当cookie过期时,浏览器在与后台交互时会自动筛选过期cookie过期了的cookie不会被携带了。...,如果支持Cookie,重写后的URL地址就不会带有jsessionid了【当然了,即使浏览器支持Cookie,第一次输出URL地址的时候还是会出现jsessionid(因为没有任何Cookie可带)

88430

Gin 学习之 cookie 读写

01 概念 HTTP Cookie叫 Web Cookie 或浏览器 Cookie)是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时携带并发送到服务器上...会话期Cookie不需要指定过期时间(Expires)或者有效期(Max-Age)。...需要注意的是,有些浏览器提供了会话恢复功能,这种情况下即使关闭了浏览器,会话期Cookie 会被保留下来,就好像浏览器从来没有关闭一样,这会导致 Cookie 的生命周期无限期延长。...持久性 Cookie 的生命周期取决于过期时间(Expires)或有效期(Max-Age)指定的一段时间。...限制访问 Cookie: 有两种方法可以确保 Cookie 安全发送,并且不会被意外的参与者或脚本访问:Secure 属性和 HttpOnly 属性。

2.5K10

认证授权

有些对系统资源操作比如删除、添加、更新只能特定人才具有。RBAC 模型RBAC 模型通过角色关联权限,角色同时又关联用户的授权的方式。一个用户可以拥有若干角色,每一个角色又可以分配若干权限。...response) { // 创建一个 cookie Cookie cookie = new Cookie("username", "Jovan"); //设置 cookie过期时间...因为,即使有个你点击了非法链接发送了请求到服务端,这个非法请求是不会携带Token的,所以这个请求将是非法的。...使用token进行认证的话, token保存在客户端,不会存在服务器保存Session信息问题。HTTP Header的Authorization字段解决跨域问题。...用户登录返回两个token:第一个是 accessToken ,它的过期时间 token 本身的过期时间比如为半个小时,另外一个是 refreshToken它的过期时间更长一点比如为1天。

1.5K10

永远不要使用Redis过期监听实现定时任务!

:定时任务离线扫描并删除部分过期键;在访问键时惰性检查是否过期删除过期键。...Redis 从未保证会在设定的过期时间立即删除并发送过期通知。实际上,过期通知晚于设定的过期时间数分钟的情况比较常见。...死信队列同样也没有对投递时间做出保证,在第一条消息成为死信之前,后面的消息即使过期不会投递为死信。...DelayQueue 会定时使用 zrangebyscore 扫描已到投递时间的消息,然后把它们移动到就绪消息列表中。...如果百度云链接失效了的话,请留言告诉我,我看到后会及时更新~开源地址码云地址:http://github.crmeb.net/u/defuGithub 地址:http://github.crmeb.net

1.6K20

Cookie详解整理

expires:失效时间,表示cookie何时应该被删除时间戳(也就是,何时应该停止向服务器发送这个cookie)。...如果不设置这个时间戳,浏览器会在页面关闭时即将删除所有cookie;不过可以自己设置删除时间。这个值是GMT时间格式,如果客户端和服务器端时间不一致,使用expires就会存在偏差。...secure: 安全标志,指定后,只有在使用SSL链接时候才能发送到服务器,如果是http链接则不会传递该信息。...硬盘Cookie保存在硬盘里,有一个过期时间,除非用户手工清理或到了过期时间,硬盘Cookie不会删除,其存在时间是长期的。 所以,按存在时间,可分为非持久Cookie和持久Cookie。...基于上述建议,即使 Cookie 被窃取,却因 Cookie 随机更新,且内容无规律性,攻击者无法加以利用。另外利用了时间戳另一大好处就是防止 Cookie 篡改或重放。

77840

很全很全的 前端 本地存储方式讲解

cookie可以设置过期时间,默认是会话结束的时候,当时间到期自动销毁 cookie值既可以设置,可以读取 设置 客户端设置 注意:客户端可以设置cookie 的下列选项:expires、domain...删除 把要删除cookie过期时间设置成已过去的时间,path/domain/这几个选项一定要旧cookie 保持一样。...cookie的属性(可选项) 过期时间 如果我们想长时间存放一个cookie。需要在设置这个cookie的时候同时给他设置一个过期时间。...默认情况下,cookie不会带httpOnly选项(即为空),所以默认情况下,客户端是可以通过js代码去访问(包括读取、修改、删除等)这个cookie的。...特点 生命周期:持久化的本地存储,除非主动删除数据,否则数据是永远不会过期的。 存储的信息在同一域中是共享的。

2.1K50

cookie面面观

但在 localStorage 出现之前,cookie滥用当做了存储工具,什么数据都放在cookie中,即使这些数据只在页面中使用、而不需要随请求传送到服务端(当然cookie做了一些限制:大小受限...补充: 发生跨域xhr请求时,即使请求URL的域名和路径都满足 cookie 的 Domain和Path,默认情况下cookie不会自动添加到请求头部中。...1.3 cookie的设置、读取、删除方法 cookie既可以由服务端来设置,可以由客户端来设置。...当会话过期放弃后,服务器将终止该会话。cookie和会话需要配合,具体内容参见1.1节。 当cookie失效、session过期时,就需要重新登录了。...localStorage是持久化的本地存储,除非是通过js删除,或者清除浏览器缓存,否则数据是永远不会过期的。 浏览器的支持情况:IE7及以下版本不支持web storage,其他都支持。

2.9K910
领券