如果你项目中需要在server端把cookie写回client端,例如在JSP中写下面的代码:
<%
Cookie cookie = new Cookie("testCookie", "testValue");
cookie.setMaxAge(60);
cookie.setPath("/");
response.addCookie(cookie);
%>
会有下面的信息在response header里面:
Set-Cookie testCookie=testValue; Expires=Wed, 02-Jul-2014 13:01:13 GMT; Path=/
注意,IE下面 和 Chrome / Firefox下面对于“Set-Cookie”的处理是完全不同的,IE是base on client端的时间去计算cookie expire time;
Chrome / Firefox 是base on server端的时间去计算cookie expire time!
So,对于cookie expire过期时间要求很高的场景要特别当心了!
以上面的代码为例:原意是要求cookie在60秒后过期,如果client端比她的local timezone的标准时间快more than 60秒,例如标准时间是10:00:00pm,但是client的system time是10:01:01pm;而server端是她的local timezone的标准时间,那么不管怎么地这个cookie在IE下都是立马过期的!!
--- add some finding:
response header 里的Expires 是指绝对过期时间(server时间),IE是拿这个绝对过期时间和client端的时间比;而正好相反:firefox和Chrome是拿她跟server端的时间比,So 造成了这种behavior上的差异!!
可以在response header里面设置相对过期时间:“Max-Age”,能很好的解决这个问题:
如下代码:
response.addHeader("Set-Cookie", "testCookie2=test2; Max-Age=60; Path=/");
response header 如下:
Set-Cookie testCookie2=test2; Max-Age=60; Path=/
因为她是相对时间,所以NO matter你的client端的时间是神马,都能确保在Max-Age时间里面能得到cookie!在IE/Firefox/Chrome下测试通过!
分享到:
相关推荐
在Cookie介绍中 我们了解到Cookie是基于Set Cookie响应头和Cookie请求头工作的 服务器通过response对象的addHeader 方法将cookie发送给浏览器 然后浏览器通过Cookie请求头将cookie再送回服务器
文件下载response.setHeader()下载中文文件名乱码问题解决办法.pdf
( response.setHeader()下载中文文件名乱码问题
response.setHeader,页面初始化,内存设置等
方法说明: 设置头文件信息。 如果将要发送的信息已包含头文件,执行该方法后头文件的值将被改写。 如果一个头文件需要传递多个值,可以使用数组。...response.setHeader(“Set-Cookie”, [“type=ninja”, “l
response.setHeader 是用来设置返回页面的头 meta 信息, 使用时 response.setHeader( name, contect );
air-t07-the-incident-response-class-of-2018-tactics-and-talesfrom-the-frontline
Optimised-Wind-Energy-Response-to-Grid-Faults-master
decompress-response-main-源码.rar
「APT」air-t07-the-incident-response-class-of-2018-tactics-and-talesfrom-the-frontline - 数据安全 Android 云安全 安全认证 网络安全 法律法规
首先,您需要构建一个正确的环境来安装依赖项docker build -t kiwfy/response-json-php -f contrib/Dockerfile . 进入容器docker run -v ${PWD} /:/var/www/html -it kiwfy/response-json-php bash 验证是否已安装...
资源来自pypi官网。 资源全名:django-any-response-redirect-middleware-1.0.tar.gz
Shock-Response-Spectrum-master_shockresponse_源码.zip
Jsp利用response.sendRedirect、cookie传参
HTTP_Response消息Content-Type头部规范
老外写的Webbrowser调用dll,简单方便获取request header,response header等各种网络资源的例子,实现了原来只有WebClient,WebRequest和HttpWebResquest才能实现的功能。 需要dll的完整源代码见我上传的另外一个资源...
python库。 资源全名:grr-response-test-3.3.0.post4.zip
「业务风控」信息安全_数据安全_air-t07-the-incident-response-class-of - 安全集成 云安全 区块链 WEB应用防火墙 DDoS 网络安全
大家都知道,nginx配置文件通过使用add_header指令来设置response header。 昨天无聊用curl查看一个站点的信息,发现返回的头部与想象中的不一样: HTTP/2 200 date: Thu, 07 Feb 2019 04:26:38 GMT content-type: ...