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

浏览器设置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存在时间一般会保存在响应头中,可获取响应头在进一步获取到有效期

相关文章

wps制作网格 | wps网格图做

wps制作网格 | wps网格图做

网格,设置,文档,教程,怎么做,1.wps网格图怎么做首先,打开一个wps文字文档请点击输入图片描述在选项卡中,我们选择【视图】请点击输入图片描述在视图下面,我们可以看到【网格线】,将其前面的小方框勾选上请点击输入图片描述打开网格线后,我们可以…

手机阅读设置 | 安卓屏幕阅读怎么

手机阅读设置 | 安卓屏幕阅读怎么

屏幕,设置,安卓手机,阅读器,文档,1. 安卓屏幕阅读怎么设置1/6分步阅读首先,在手机上从上往下划动界面,在弹出的界面中点击右上角的齿轮状按钮。2/6进入设置界面,找到情景模式,点击进入,再点击儿童模式。3/6进入儿童模式的具体设置界面,点击儿童应…

三星note8设置短信提示音的操作过

三星note8设置短信提示音的操作过

三星note8设置短信提示音的操作过程,三星note8,设置短信提示音,短信提示音即短信铃声,和电话铃声都能自定义设置,今日小编就分享了三星note8设置短信提示音的操作过程,供大家参考。三星note8设置短信提示音的操作过程第一步:在主屏幕上,点击【信…

快捷键打开qq聊天窗口 | 快捷键打

快捷键打开qq聊天窗口 | 快捷键打

快捷键,界面,快捷方式,设置,显示,1. 快捷键打开qq界面1.Alt+S 快速回复 2.Alt+C 关闭当前窗口 3.Alt+H 打开聊天记录 4.Alt+T 更改消息模式 5.Ait+J 打开聊天纪录 6.Ctrl+A 全选当前对话框里的内容 7.Ctrl+F QQ里直接显示字体设置工具条 8.…

wps双串口 | 设置WPS中的双坐标

wps双串口 | 设置WPS中的双坐标

设置,串口,文档,文字,合一,1.怎么设置WPS中的双坐标wps表格绘制双坐标轴的方法:1、用WPS打开你所要绘制图表的数据。2、选中你要采集的数据区域3、点击WPS的插入按钮,选择图表4、在跳出的对话框中根据自己的需要选择样式、参数等设置,然后点击…

iphonexr设置黑名单的操作流程

iphonexr设置黑名单的操作流程

iphonexr设置黑名单的操作流程,iphonexr,设置黑名单,当前不少朋友都入手了iphonexr,不过还不会设置黑名单的,而接下来笔者就分享了iphonexr设置黑名单的操作流程,一起来看看吧。iphonexr设置黑名单的操作流程1、首先点击设置2、点击电话3、点击…

每一次重启电脑后打开cad都重新 |

每一次重启电脑后打开cad都重新 |

设置,重启,默认,启动,安装,1. cad每次设置完里面,重启都默认设置好了绘图环境,然后保存为图形样板*.dwt格式。然后打开“选项”对话框,在“文件”选项卡下的“图形样板设置”--“快速新建的默认文件样板名”下输入你报存的样板文件的路径。确认…

电脑设置睡眠时间 | 电脑设置睡眠

电脑设置睡眠时间 | 电脑设置睡眠

休眠,电脑设置,设置,时间设置,修改,1. 电脑设置睡眠时间会自动解除吗将计算机进入睡眠状态的时间修改为“从不”,就能解除计算机锁定功能。以WIN7系统为例,具体操作请参照以下步骤。1、点击计算机屏幕左侧的开始菜单栏,选择“控制面板”选项进…

荣耀8xmax设置铃声的操作流程

荣耀8xmax设置铃声的操作流程

荣耀8xmax设置铃声的操作流程,荣耀8xmax,设置铃声,跟苹果手机比较,安卓手机最大好处就是能方便设置系统铃声,还能快捷设置下载的歌曲为铃声,下面小编为大家带来荣耀8xmax设置铃声的操作流程。荣耀8xmax设置铃声的操作流程1、首先找到并点击打开…

滴滴打开录音权限的详细操作

滴滴打开录音权限的详细操作

滴滴打开录音权限的详细操作,滴滴,打开录音权限,各位了解滴滴打开录音权限的详细操作吗?今日笔者就分享了滴滴打开录音权限的操作教程,有需要的朋友一起来学习吧。滴滴打开录音权限的详细操作1.打开手机,并打开“设置”,在设置里找到“权限管理…

wps表格分栏打印 | wps表格分栏打

wps表格分栏打印 | wps表格分栏打

设置,文档,教程,表格,wps,1.wps表格分栏打印怎么设置步骤:1、打开编辑好的Excel文档,选中想要打印的区域,点击页面布局选项卡,选择打印区域选项, 点击设置打印区域子选项,这时候我们就成功设置了打印区域。2、在设置好打印区域后,我们需要对选中的…

京东子账号分流设置 | 京东子账户

京东子账号分流设置 | 京东子账户

账户,账号,设置,修改密码,权限,1. 京东子账户添加与管理用微信下载游戏,或者关注小程序,都需要有微信授权,解除授权的方法如下:点击打开微信。依次点击我,设置点击隐私点击授权管理2. 京东子账号修改密码打开app,设置里面有更改密码。3. 京东子账…