Cookie的设置和删除

Cookie如何设置

一句话概括,Cookie是通过HTTP请求头Set-Cookie来进行设置。

服务器如果希望在浏览器保存 Cookie,就要在 HTTP 回应的头信息里面,放置一个Set-Cookie字段。

Set-Cookie:key=value

HTTP 响应可以包含多个Set-Cookie字段,即在浏览器生成多个 Cookie。浏览器接收到的响应如下:

HTTP/1.0 200 OK
Content-type: text/html
Set-Cookie:key1=value1
Set-Cookie:key2=value2

[page content]

设置后当请求发送到浏览器,浏览器就会根据请求头来设置cookie


Cookie的过期时间

若在无设置的情况的情况下,cookie只存在于当前session中,若浏览器关闭,session结束后,cookie也随之被删除。

  1. expires

可以通过cookie的expires属性来设置cookie的过期时间。

expires属性的值为一个 格林威治标准时间 ,若cookie保存超过该时间,则删除该cookie。

举例说明:

	Set-Cookie: a=2; Expires=Tue, 1 Oct 2019 00:00:00 GMT;
 
	 //值为a=2的cookie将在(格林威治时间)2019年10月1日0点后到期
  1. maxAge

除了设置expires属性之外,还能通过maxAge属性来设置过期时间。

maxAge属性的值是秒数,若cookie保存超过这个秒数期限,则删除该cookie。

举例说明:

	Set-Cookie: a=2; maxAge=31536000;
 
 	//值为a=2的cookie将在31536000秒(一年)后到期

Cookie如何删除

上文说到Cookie的过期时间,当超过所设置的时间后,cookie被删除,则可以通过设置时间的方式来达到删除Cookie的目的。

  1. 通过设置expires属性来删除Cookie

expires属性对应的值是一个格林威治标准时间,可以使用赋值当前时间之前的值来删除cookie。

代码如下

	document.cookie = "a=; expires="+new.date(0).toUTCString();

	new.date(0).toUTCString() ===  "Thu, 01 Jan 1970 00:00:00 GMT"  //ture
  1. 通过设置maxAge属性来删除Cookie

maxAge属性对应的值是一个秒数,可通过将值设置为0的方法来立即删除cookie。

代码如下

	document.cookie = "a=; maxAge=0;"

注:若值为负数,则cookie会在浏览器关闭后被删除。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值