当前位置:首页 > 日记 > 正文

浏览器设置cookie | 浏览器设置cookie过期时间

浏览器设置cookie | 浏览器设置cookie过期时间

1. 浏览器设置cookie过期时间

之前项目有一个需求,在下载文件的时候,在向后端发出请求的这段时间要有loading动画提高交互性。

但是当时后端只能以传统的向前端发送流的形式来下载,ajax派不上用场,只能用js去模拟,但是这样就监听不到后端的返回,只能等后端将数据流发送回来,浏览器自动弹出下载提示。

想了想,只能是后端返回的时候发送一个cookie: {downloading: true},然后我前端轮询这个字段,轮询到就将loading关闭,并将这个cookie删除。理论上来说好像是没什么毛病,但实际应用起来还是有一些坑的。

踩坑完毕,记录一下。

首先遇到的第一个坑就是发现cookie删不掉。

当然,这里说明一下,并不是js或者浏览器本身的机制不允许删除cookie,只是我删除的方式不对。

一开始我只是简单的将cookie设置为空,将expires设置为-1。心里想着,已过期,cookie自动清除,美滋滋,然而事实并没有按照我想的发生。downloading还是躺在cookie里面没有任何变化,是因为没有刷新吗?于是我在后面再次获取了一下:

console.log(document.cookie);

发现cookie里面确实还是有downloading这个字段。

没办法,打开application看看,果然发现了问题,后端传递过来的这个cookie没有设置expires,但是却默认设置了path,再联想我之前删除的cookie是没有带任何参数的,结合cookie的机制,发现了问题所在。

解决办法:

在删除cookie的时候要加上这个字段所带的参数,可能是出于安全的考虑,不同的参数,即使名字相同,也会当成两个cookie存储,所以我删除的并不是后端传过来的cookie,自然就删除不了。

第二个坑,后端设置cookie默认的path属性没有规律。

出于代码复用和性能考虑,后端的很多功能都会集成到一个API,再加上前端可能会用到一些第三方的框架,这些框架所采用过的设计模式都各不相同,都会造成一些不可预测的结果,而项目有可能在任何地方都会有下载的需求,所以当我发现如何删除cookie的时候,我又发现了一个坑,那就是不知道该如何准确获取cookie的path属性。而且如果你请求的接口默认path与你所在的url不匹配的话,浏览器将会忽略这次的cookie设置,在我的项目的直接体现就是,后端响应了cookie,但是我前端接收不到,页面loading无法消失,卡死了。

解决办法:

根据cookie的机制,当cookie的path属性为'/'的时候,cookie就不会被忽略。

所以解决办法就是让后端在set-cookie的时候讲path设置成固定的'/',以java为例:

Cookie cookie = new Cookie("Downloading","true");

cookie.setPath("/");

response.addCookie(cookie);

然后前端只要在监听到downloading字段的时候,再将path='/'的downloading删除就可以了。 

2. cookie不设置有效期多久过期

京东领货码没有激活前会过期吗?

京东领货码没有激活前会过期吗?

京东领货码使用有效期自激活之日起12个月,可在有效期内多次使用;逾期尚有余额的领货码可提供延期服务,每张领货码仅限一次且延长时限为1个月。有闲置领货券可以去闲卡网寄售变现。

3. 浏览器cookie保存时间

cookie的功能:1、Cookie是保存在客户端的纯文本文件;

2、Cookie文件必须由浏览器的支持,在浏览器中可以设置阻止cookie。

Cookie是保存在客户端的纯文本文件。比如txt文件。所谓的客户端就是我们自己的本地电脑。

当我们使用自己的电脑通过浏览器进行访问网页的时候,服务器就会生成一个证书并返回给我的浏览器并写入我们的本地电脑。这个证书就是cookie。一般来说cookie都是服务器端写入客户端的纯文本文件

4. 如果在使用cookie时不设置cookie的过期时间会怎样

关于两者的一些区别,根据自己的理解和网络技术人员的分享,回答如此。

1、存储位置不同

cookie的数据信息存放在客户端浏览器上。

session的数据信息存放在服务器上。

2、存储容量不同

单个cookie保存的数据<=4KB,一个站点最多保存20个Cookie。

对于session来说并没有上限,但出于对服务器端的性能考虑,session内不要存放过多的东西,并且设置session删除机制。

3、存储方式不同

cookie中只能保管ASCII字符串,并需要通过编码方式存储为Unicode字符或者二进制数据。

session中能够存储任何类型的数据,包括且不限于string,integer,list,map等。

4、隐私策略不同

cookie对客户端是可见的,别有用心的人可以分析存放在本地的cookie并进行cookie欺骗,所以它是不安全的。

session存储在服务器上,对客户端是透明对,不存在敏感信息泄漏的风险。

5、有效期上不同

开发可以通过设置cookie的属性,达到使cookie长期有效的效果。

session依赖于名为JSESSIONID的cookie,而cookie JSESSIONID的过期时间默认为-1,只需关闭窗口该session就会失效,因而session不能达到长期有效的效果。

6、服务器压力不同

cookie保管在客户端,不占用服务器资源。对于并发用户十分多的网站,cookie是很好的选择。

session是保管在服务器端的,每个用户都会产生一个session。假如并发访问的用户十分多,会产生十分多的session,耗费大量的内存。

7、浏览器支持不同

假如客户端浏览器不支持cookie:

cookie是需要客户端浏览器支持的,假如客户端禁用了cookie,或者不支持cookie,则会话跟踪会失效。关于WAP上的应用,常规的cookie就派不上用场了。

运用session需要使用URL地址重写的方式。一切用到session程序的URL都要进行URL地址重写,否则session会话跟踪还会失效。

假如客户端支持cookie:

cookie既能够设为本浏览器窗口以及子窗口内有效,也能够设为一切窗口内有效。

session只能在本窗口以及子窗口内有效。

8、跨域支持上不同

cookie支持跨域名访问。

session不支持跨域名访问

5. cookie什么时候过期

总结以下几点供参考:

1.存储大小区别:浏览器中cookie单条储存大小限制4kb左右,localStorage一般5M左右(各浏览器间略有区别);

2.有效期区别:cookie只在有效期内存在,过期即删除,localStorage无有效时期时间限制,不主动删除可一直有效;

3.兼容性区别:localStorage在IE8以上才支持,IE8以下也可以使用cookie,相对来说cookie兼容性好些;

4.能否被爬虫爬取到区别:localStorage不能被爬虫爬取到,cookie可以;

5.是否可通过服务端设置的区别:localStorage的值只能通过前端设置,cookie前后端都可以设置;

6.是否默认随请求发送到服务端的区别:localStorage中的值默认不跟随请求发送至服务端,cookie中的值默认跟随请求发送;

6. 如何设置cookie的过期时间

会话cookie一般不存储在硬盘而是保存在内存里,当然这个行为并不是规范规定的。

若设置了过期时间,浏览器就会把cookie保存到硬盘上,关闭后再打开浏览器这些cookie仍然有效直到超过设定的过期时间。

设置过期时间失效(只要设置了过期时间cookie就会存储在硬盘里面),当会话结束时失效,即关闭浏览器窗口(如果没有设置Expires。

7. cookie一般设置多久过期时间

cookie 的过期时间是人为指定的;可用 计算出剩余时间,php 只能通过附加辅助 cookie 变量简洁获取。session 过期时间为 0,不需要考虑。cookie一般分两种。

1.不设置过期时间,会存在内存里,浏览器关闭即失效。

2.设置过期时间,会存在硬盘里,一直到过期时间才失效。

8. 微信浏览器 cookie过期时间

1、首先判断自己的微信账号是否被封号、或是被微信官方冻结,其次就是保障密码的正确性,以及保障手机能够收到微信发来的验证码!

微信等不上,可能是网络的原因,网络不给力的时候,微信就会一直停留在微信登录页面。

2、如果微信并不是最新版本、或者没有通过官方途径下载,可以通过微信官方网站重新下载,在尝试登录。

3、该微信长时间没登陆,出于安全考虑,系统把账号注销了,重新登录即可。

4、微信最近不太稳定,微信多次不在一个地方(城市)登陆或者出现其他恶意情况,比如大量的用恶意软件盗号等,微信就会用这个方式限制,主要是针对恶意木马盗号。

5、刚改过密码,手机自动登录发现密码不对,就会出现这种情况,重新输入密码登陆即可。

6、假如以上的方法都使用之后,微信依然不能登录,可以选择卸载微信软件,重新安装,这样一般的微信故障都可以解决,这种方法简单粗暴,有效!

9. js-cookie设置过期时间

(1)cookie的有效期:

      默认:会话周期结束(就是浏览器关闭),默认情况下,cookie会在浏览器关闭时失效,这种cookie是 临时cookie或者叫会话。

      支持设置有效期,setcookie的第三个参数,可以对cookie的有效期进行设置,有效期采用一个时间戳来表示。(下面的这个就是设置了60秒,但是一分钟后不管浏览器是否关闭,这个cookie就失效)

10. 设置cookie的过期时间

cookie存在时间一般会保存在响应头中,可获取响应头在进一步获取到有效期

相关文章

苹果自动关机设置 | 苹果能设置自

苹果自动关机设置 | 苹果能设置自

设置,设置自动,自动关机,能用,能不,1. 苹果能设置自动关机没有定时开关机功能,但是可以使用计时器功能实现定时关机。苹果11定时关机设置方法:以iPhone11,系统版本iOS13为例。1.打开手机的“时钟”;2.在时钟界面点击右下角“计时器”;3.点击“计…

手机百分比怎么设置 | 如何让手机

手机百分比怎么设置 | 如何让手机

显示,设置,操作,屏幕显示,百分比,1. 如何让手机显示百分比通常情况下,新购买的 iPhone 默认是不会显示电量百分比的,只会显示一个大致的电量图形条。我们需要进行相应的设置才可以在 iPhone 的顶部状态栏看到电池的百分比。以iPhone XS Max …

从云服务器同步设置 | 从云服务器

从云服务器同步设置 | 从云服务器

云服务,密码,设置,同步,重置密码,1. 从云服务器同步设置密码1怎么在微云网盘里面创建密码,为文件加密。首先先升级qq到最新版本,才能使用这个功能。然后在qq面板上右下角找到应用管理器在腾讯软件里面的个人工具类里面就能找到微云的图标了,点…

3dmax缩放快捷键设置 | 3dmax缩小

3dmax缩放快捷键设置 | 3dmax缩小

快捷键,缩小,缩放,放大缩小,模型,1. 3dmax缩小快捷键1、打开3DMax软件,任意创建一个模型。2、然后选择模型并单击“选择并均匀缩放”按钮,可以看到模型的坐标轴增加了一个三角形的标志。3、将光标移动到x轴上,则x轴变为黄色,且光标的形状发生变…

电脑关机图示 | 电脑咋关机啊图示

电脑关机图示 | 电脑咋关机啊图示

显示,设置,教程,图标,开关机,1. 电脑咋关机啊图示所需材料:WIN7 64位系统示例。一、首先点击键盘上的“WIN键”,这样可以打开开始菜单,对应的是桌面左下角“开始菜单按钮”。二、这时点击键盘上的“→键”,把光标移至“关机键”上,按下“回车键…

苹果6怎么设置指纹 | 苹果6怎么设

苹果6怎么设置指纹 | 苹果6怎么设

指纹,设置,支付,支付宝,密码,1. 苹果6怎么设置指纹支付功能没有指纹解锁就说明没有指纹识别模块,不能够识别指纹,着肯定是开启不了指纹付款的2. 6s怎么设置指纹支付iPhone6s手机指纹解锁的设置方法:1、首先在设置页面中点击触控id与密码选项。…

QQ彩铃怎么设置方法 | QQ彩铃怎么

QQ彩铃怎么设置方法 | QQ彩铃怎么

设置,方法,语音,音乐,自定义,1. QQ彩铃怎么设置方法先下载到手机里,然后进入铃声设置,按提示操作就OK 2. QQ彩铃怎么设置方法oppo1、进入手机主界面,选择“设置”2、进入设置界面,选择“声音和振动”3、进入声音设置界面,选择“电话铃声”4、进…

网页关键字搜索快捷键 | 关键词搜

网页关键字搜索快捷键 | 关键词搜

快捷键,关键词,搜索,网页,快捷方式,1. 关键词搜索快捷键1、任意打开一张网页,搜索天气情况,如下图所示:2、搜索关键词的快捷键是【Ctrl+F】,会弹出一个查找窗口,如下图所示:3、比如输入【降雨量】,它会把网页中相关词语的背景色改成橙红色,如下图所…

word字体加粗的快捷键 | word字体

word字体加粗的快捷键 | word字体

快捷键,字体加粗,设置,文档,字体,1. word字体加粗的快捷键怎么设置1、打开Word文档,使用快捷键“Ctrl+F”调出查找和替换的对话框,选择上方的”替换“选项,在”查找内容“输入框中输入:^#。2、将光标移动到”替换为“的输入栏中,点击下方”格式…

我的电脑快捷键设置 | 电脑此电脑

我的电脑快捷键设置 | 电脑此电脑

快捷键,设置,快捷方式,电脑设置,方法,1. 电脑此电脑快捷键怎么设置1、首先,我们找到自己想要设置启动快捷键的软件的快捷方式或者启动程序文件。这里以软件对应的快捷方式为例:2、比如以鲁大师的为例:找到其快捷方式之后,我们现在选中它,然后鼠…

carx电脑版配置 | carx教程

carx电脑版配置 | carx教程

配置,教程,设置,下载,最新版,1. carx电脑版配置1.打开系统菜单栏中的视图。2.选择“视口配置”,再选择“视觉样式”。3.发现高亮和阴影两个选项都打勾了。4.去掉这两个选项,应用保存退出。2. carx教程CarX漂移赛车怎么漂移?有哪些漂移技巧…

imac输入法切换快捷键 | mac如何快

imac输入法切换快捷键 | mac如何快

输入法,快捷键,系统,设置,快捷,1. mac如何快捷切换输入法具体方式如下:一、如果mac电脑上的语言偏好设置没有更改过的话,那切换输入法的按键为command键+空格键二、如果想更改此快捷键设置,可以点击菜单上的输入法图标,打开语言与文本偏好设…