资讯专栏INFORMATION COLUMN

cookie简介

luxixing / 2347人阅读

摘要:简介几种常用属性属性值是类型,表示是否禁止客户端,也就是网页中使用操作默认在浏览器中的可以通过查看对应每一行后面的一栏是否被勾选来判断,若被勾选,表示当前,不能通过获取。

Cookie 简介

几种常用属性

httpOnly:

属性值是boolean类型,表示是否禁止客户端,也就是网页中使用js 操作cookie,默认false,在浏览器中的可以

通过查看对应每一行cookie后面的HTTP一栏是否被勾选来判断,若被勾选,表示当前cookie,不能通过

document.cookie 获取。很多情况下获取不到cookie 都是因为这个属性导致的

构成:

name(名)和value(值),都必须被URL编码。例如比较简单的设置:
document.cookie = encodeURIComponent("name")+"="+encodeURIComponent("Nicholas")+";domain = .wrox.com;path=/";

domain属性:

可以设置多个web服务器共享 , domain 默认是创建cookie 的网页所在服务器。所以在试图删除非当前域名,比如:当前域名是 www.abc.com, 想要删除domain是顶级域名,也就是domain = abc.com 的cookie,就必须在删除对应cookie时,设置对应的domain,否则就无法删除(删除方法,一般都是 设置 cookie 对应的expires 为 new Date() 或者 之前的任意时间

path属性

默认路径会设置成“/”,指定与cookie 关联在一起的网页,例如,你可以指定cookie只能从

http://www.abc.com/123 才能访问,那么在http://ww.abc.com 的页面就不会发送cookie 信息。

**

secure属性:

默认是没有设置,指定后,cookie 只有在使用了SSL连接的时候才会发送到服务器。

expiress属性:

表示cookie何时应该被删除的时间戳,默认情况下,浏览器会话结束后即将所有的cookie删除,对应的expiress 对

应的值就是session,会话时间。GMT格式的日期(Wdy,DD-Mon-YYYY HH:MM:SS GMT)。

最后附带cookie 的简单封装,更加全面的解释可以查看《高程3》 第23章 离线应用于客户端存储中的cookie 部分

export default {
               "get": function(cookie_name) {
                   if (!cookie_name || cookie_name == "") {
                       return null;
                   }
                   var reg = new RegExp("(^| )" + cookie_name + "=([^;]*)(;|$)");
                   var arr = document.cookie.match(reg);
                   if (arr) {
                       return unescape(arr[2]);
                   } else {
                       return null;
                   }
               },
               "set": function(cookie_name, cookie_val, time) {
                   time = time || this.duration;
                   if (!cookie_name || cookie_name == "") {
                       return;
                   }
                   var cookie_str = cookie_name + "=" + escape(cookie_val) + ";";
                   if (time > 0) {
                       var date = new Date();
                       date.setTime(date.getTime() + time);
                       cookie_str += "expires=" + date.toGMTString()+";";
                       console.log(date.toGMTString());
                   }
                     cookie_str += "path=/;";
                     document.cookie = cookie_str;
               },
               "delete": function(cookie_name,domain) {
                   if (!cookie_name || cookie_name == "") {
                       return;
                   }
                   var date = new Date(0);
                  //  date.getDate(date.getDate() - 10000);
                  if(domain === undefined) {
                     document.cookie = cookie_name + "=; expires=" + date.toUTCString()+ ";path=/;";
                  }else {
                     document.cookie = cookie_name + "=; expires=" + date.toUTCString()+ ";path=/;domain=" + domain+";";
                  }
               }

           }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87242.html

相关文章

  • Cookie 和 Session

    摘要:服务端设置好后,将会通过响应头返回给浏览器。注意是在中发送的,所以之前不能有任何输出。数据存储在客户端,容易被拦截篡改,不安全。数据存放在服务端,安全。当落入第三者时,服务端将无法分辨出是否是合法的请求。 Cookie 起源 当初 W3C 在设计 Cookie 时实际上考虑的是为了记录用户在一段时间内访问 Web 应用的行为路径。 由于HTTP 协议是一种无状态协议,当用户的一次访问...

    monw3c 评论0 收藏0
  • 前端存储

    摘要:前端存储简介一种在前端保存数据的思想。为了保证前端性能,一般不会保存大量数据。在手动删除前一直存在关闭当前页面后被清除可存放大小与服务器通信每次都在头部信息中。 前端存储 简介 一种在前端保存数据的思想。第一次在页面中的保存数据,那么从第二次开始就可以使用了。可以使用的方法有: cookie localeStorage sessionStorage ie的userData web s...

    luckyw 评论0 收藏0
  • 前端存储

    摘要:前端存储简介一种在前端保存数据的思想。为了保证前端性能,一般不会保存大量数据。在手动删除前一直存在关闭当前页面后被清除可存放大小与服务器通信每次都在头部信息中。 前端存储 简介 一种在前端保存数据的思想。第一次在页面中的保存数据,那么从第二次开始就可以使用了。可以使用的方法有: cookie localeStorage sessionStorage ie的userData web s...

    binaryTree 评论0 收藏0
  • Laravel 的 Session机制简介

    摘要:我们在这个类中的方法看到如下代码,一个典型的过滤器,在这个中获取的方法是。,整个初始化的过程总结下巧妙的使用了面向对象的接口方式,为我们提供了各种各样不同的存储方式,一旦我们了解了存储方式和加密规则,让不同的容器进行共享的目的也可以达到 前些天,为了解答一个问题,就去研究了Laravel的源码,讲讲我的收获:这个是问题源:http://segmentfault.com/q/101000...

    kelvinlee 评论0 收藏0

发表评论

0条评论

luxixing

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<