关闭

浏览器 Cookie

标签: cookie浏览器数据存储存储web前端
103人阅读 评论(1) 收藏 举报
分类:

Cookie简介

  Cookie是客户端数据存储的一种方式,以键值对的方式存储数据。
  需要注意的是,除了Cookie之外,客户端数据存储的方式还有Web存储,包括localStorage和sessionStorage,这是HTML5新增的特性。这里不讨论这两种方式,之后有时间会对这两种方式作介绍。

Cookie属性

  通常情况下cookie有以下五个属性:

  • key: 表示cookie的名称
  • value: 表示cookie的值
  • expire: 表示cookie的过期时间
  • path: 表示cookie对应的路径
  • domain: 表示cookie对应的域名

    key和value是cookie的键值对,expire是cookie的有效时间,表示从cookie创建开始多长时间cookie有效,过了该时间之后浏览器就会将该cookie删除。
    path和domain定义了cookie的作用域。这里可以类比C++程序中变量的作用域,C++程序中通过变量的声明确定变量可以在哪些地方被访问,而cookie通过定义path和domain的值确定cookie可以在哪些页面被访问。

    总的来说,cookie的作用域规则如下,

    • cookie只能被当前域名(cookie的domain值)以及子域名下的页面访问
    • cookie只能被当前路径(cookie的path值)以及子路径下的页面访问

Cookie创建

  cookie都是在一个页面中创建的。通常创建cookie的方式有两种:

  • 浏览器解析页面,执行页面代码创建cookie,如执行JavaScript创建cookie
document.cookie = "username=John";
  • 服务器返回给浏览器的HTTP响应中包含了cookie,浏览器以此创建cookie,如Servlet程序向响应中添加了cookie并返回给浏览器
Cookie cookie = new Cookie("username", "John");
cookie.setMaxAge(24 * 60 * 60);   // 设置cookie的有效时间为1天
response.addCookie(cookie);

  这里要强调的是,cookie对domain的值有一定的限制。前面说过,cookie都是在某个页面下创建的,domain的值如果不设置,那么默认是当前页面的cookie。如果设置,domain的取值只能是当前页面的域名或子域名。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:155次
    • 积分:32
    • 等级:
    • 排名:千里之外
    • 原创:3篇
    • 转载:0篇
    • 译文:0篇
    • 评论:2条
    文章分类
    文章存档
    最新评论