js设置cookie过期时间

js设置cookie过期时间,第1张

//JS *** 作cookies方法!

//写cookies

function setCookie(name,value)

{

var Days = 30

var exp = new Date()

exp.setTime(exp.getTime() + Days*24*60*60*1000)

document.cookie = name + ”=”+ escape (value) + ”expires=” + exp.toGMTString()

}

//读取cookies

function getCookie(name)

{

var arr,reg=new RegExp(”(^| )”+name+”=([^]*)(|$)”)

if(arr=document.cookie.match(reg)) return unescape(arr[2])

else return null

}

//删除cookies

function delCookie(name)

{

var exp = new Date()

exp.setTime(exp.getTime() - 1)

var cval=getCookie(name)

if(cval!=null) document.cookie= name + ”=”+cval+”expires=”+exp.toGMTString()

}

//使用示例

setCookie(”name”,”hayden”)

alert(getCookie(”name”))

//如果需要设定自定义过期时间

//那么把上面的setCookie 函数换成下面两个函数就ok

//程序代码

function setCookie(name,value,time){

var strsec = getsec(time)

var exp = new Date()

exp.setTime(exp.getTime() + strsec*1)

document.cookie = name + ”=”+ escape (value) + ”expires=” + exp.toGMTString()

}

function getsec(str){

alert(str)

var str1=str.substring(1,str.length)*1

var str2=str.substring(0,1)

if (str2==”s”){

return str1*1000

}else if (str2==”h”){

return str1*60*60*1000

}else if (str2==”d”){

return str1*24*60*60*1000

}

}

//这是有设定过期时间的使用示例:

//s20是代表20秒

//h是指小时,如12小时则是:h12

//d是天数,30天则:d30

//暂时只写了这三种

setCookie(”name”,”hayden”,”s20″)

cache-control是用于控制网页的缓存.常见的取值有private、no-cache、max-age、must- revalidate等,默认为private。

cache-control有哪些属性?

其作用根据不同的重新浏览方式分为以下几种情况:cache-control

打开新窗口(_blank)

private、no-cache、must-revalidate 再次访问服务器Cache-control: max-age=5(表示当访问此网页后的5秒内再次访问不 会去服务器)

在地址栏回车值为private或must-revalidate则只有第一次访问时会访问服务器,以后就不再访问。值为no-cache,那么每次都会访问。值为max-age,则在过期之前不会重复访问。

按后退按扭值为private、must-revalidate、max-age,则不会重访问,值为no-cache,则每次都重复访问

按刷新按扭无论为何值,都会重复访问

cache-control在哪里设置

在IIS的网站属性中的http头信息选项卡中,勾选启用内容过期后有三个相关选项.

一、立即过期

启用此选项后,每次请求都会向服务器申请下载最新版本。浏览器不做缓存处理。状态返回码200。Cache信息是:no-cache。这种方式可以保证客户端看到的永远是最新版本,也就是说如果服务器端进行了更新,一定能被客户端看到。

二、此时段后过期与过期时间

这两种情况下,浏览器缓存将其作用。注意,第一次的状态是200,同时cache-control为30天(对应的秒数)。就是说这个网页会有30天的缓存。所以,而后的状态都会是304.

cache-control应该怎么设置更好?

对于图片,css,等长期不变化的内容应该设置较长的过期时间(如180天)

建议:

1.对于js和css可以独立到一个二级域名中,启用GZIP,且设置较长的过期时间

2.对于图片独立到另一个二级域名中,且设置较长的过期时间

对于静态文件(html)如果长期不更新也可以设置稍长的过期时间(如30天),需要根据当前网站的实际而定。

对于动态文件(php)可以设置较短的过期时间(如120秒)

注意:在过期时间内,如果您对文件内容进行了变化,对于用户或蜘蛛都不能浏览或抓取到你更改后的内容。 这也是动态文件设置较短过期时间的主要原因。cache-control的设置只是为了节约搜索引擎蜘蛛资源,让其抓取更多有效内容,千万不能弄巧成拙。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/11044750.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存