博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
cookie
阅读量:4082 次
发布时间:2019-05-25

本文共 1675 字,大约阅读时间需要 5 分钟。

cookie 的属性

cookie属性:name、value、expires、domain、path、secure、max-age、HttpOnly。

  1. name:

    name属性是必须的,用于定义cookie的名称

  2. value:

    value属性是必须的,用于指定cookie的值

  3. expires:

    expires属性用于指定Cookie过期时间。它采用UTC或GMT格式,比如通过new date().toUTCString()或new Date().toGMTString()获取到的Thu, 09 Aug 2018 03:17:40 GMT。
    如果不设置该属性,或者设为null,Cookie只在当前会话(session)有效,浏览器窗口一旦关闭,当前Session结束,该Cookie就会被删除。
    浏览器根据本地时间,决定Cookie是否过期,由于本地时间是不精确的,所以没有办法保证Cookie一定会在服务器指定的时间过期。
    当设置的失效时间大于等于1天时:我们可以在 expires 属性后面直接输入XX天数

 

$.Cookies('name', 'value', {     expires: 7 });

当设置的失效时间少于一天时:我们需要在当前的时间上加上失效时间。

例如下面是设置cookie的失效时间为15分钟。

 

var millisecond = new Date().getTime();  var expiresTime = new Date(millisecond + 60 * 1000 * 15);      $.Cookies('name', 'value', {    expires: expiresTime,  });

如果expires设置一个过去的时间点,那么这个cookie 会被立即删掉(失效)。

  1. domain :

    omain属性指定Cookie所在的域名,比如example.com或subdomain.example.com。
    如果未指定,默认为设定该Cookie的域名。所指定的域名必须是当前发送Cookie的域名的一部分,比如当前访问的域名是example.com,就不能将其设为google.com。只有访问的域名匹配domain属性,Cookie才会发送到服务器。

  2. path :

    path属性用来指定路径,必须是绝对路径(比如/、/mydir),如果未指定,默认为请求该Cookie的网页路径。
    只有path属性匹配向服务器发送的路径,Cookie才会发送。这里的匹配不是绝对匹配,而是从根路径开始,只要path属性匹配发送路径的一部分,就可以发送。比如,path属性等于/blog,则发送路径是/blog或者/blogroll,Cookie都会发送。path属性生效的前提是domain属性匹配。

  3. secure :

    secure属性用来指定Cookie只能在加密协议HTTPS下发送到服务器。
    该属性只是一个开关,不需要指定值。如果通信是HTTPS协议,该开关自动打开。

  4. max-age :

    max-age属性用来指定Cookie有效期,比如60 * 60 * 24 * 365
    (即一年31536000秒)
    正常情况下,max-age的优先级高于expires,但是

7.HttpOnly :

HttpOnly属性用于设置该Cookie不能被JavaScript读取.
(即document.cookie不会返回这个Cookie的值),只用于向服务器发送。
Set-Cookie: key=value; HttpOnly
上面的这个Cookie将无法用JavaScript获取。进行AJAX操作时,XMLHttpRequest对象也无法包括这个Cookie。这主要是为了防止XSS攻击盗取Cookie。

作者:爱学习的小青蛙
链接:https://www.jianshu.com/p/cac086d1c348
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

你可能感兴趣的文章
shell 快捷键
查看>>
VIM滚屏操作
查看>>
EMC 2014存储布局及十大新技术要点
查看>>
linux内核内存管理(zone_dma zone_normal zone_highmem)
查看>>
将file文件内容转成字符串
查看>>
Spring4的IoC和DI的区别
查看>>
springcloud 的eureka服务注册demo
查看>>
eureka-client.properties文件配置
查看>>
MODULE_DEVICE_TABLE的理解
查看>>
platform_device与platform_driver
查看>>
platform_driver平台驱动注册和注销过程(下)
查看>>
.net强制退出主窗口的方法——Application.Exit()方法和Environment.Exit(0)方法
查看>>
c# 如何调用win8自带的屏幕键盘(非osk.exe)
查看>>
build/envsetup.sh 简介
查看>>
linux怎么切换到root里面?
查看>>
linux串口操作及设置详解
查看>>
安装alien,DEB与RPM互换
查看>>
编译Android4.0源码时常见错误及解决办法
查看>>
Android 源码编译make的错误处理
查看>>
linux环境下C语言中sleep的问题
查看>>