Cookie

Cookie是什么

  1. Cookie 是浏览器访问服务器后,服务器传给浏览器的一段数据
  2. 浏览器得到Cookie后会进行保存
  3. 此后每次浏览器访问服务器时都会带上这个Cookie

Cookie的作用

  1. 识别用户身份
  2. 记录历史

设置Cookie

服务器通过设置Set-Cookie响应头来设置Cookie
Set-Cookie: =
还可以添加前缀后缀:

Set-Cookie: =; Expires=
Set-Cookie: =; Max-Age=
Set-Cookie: =; Domain=
Set-Cookie: =; Path=
Set-Cookie: =; Secure
Set-Cookie: =; HttpOnly
  • __Secure- 前缀:以 __Secure- 为前缀的 cookie,必须与 secure 属性一同设置,同时必须应用于安全页面(即使用 HTTPS 访问的页面)。
    Set-Cookie: __Secure-ID=123; Secure; Domain=example.com
  • __Host- 前缀: 以 __Host- 为前缀的 cookie,必须与 secure 属性一同设置,必须应用于安全页面(即使用 HTTPS 访问的页面),必须不能设置 domain 属性 (也就不会发送给子域),同时 path 属性的值必须为“/”。
    Set-Cookie: __Host-ID=123; Secure; Path=/
  • Expires=:cookie 的最长有效时间,形式为符合 HTTP-date 规范的时间戳
  • Max-Age=:在 cookie 失效之前需要经过的秒数。
  • Domain=:指定 cookie 可以送达的主机名。
  • Path=:指定一个 URL 路径,这个路径必须出现在要请求的资源的路径中才可以发送 Cookie 首部。
  • Secure :一个带有安全属性的 cookie 只有在请求使用SSL和HTTPS协议的时候才会被发送到服务器。
  • HttpOnly:设置了 HttpOnly 属性的 cookie 不能使用 JavaScript 进行访问,以防范跨站脚本攻击

Cookie的特点

  1. 遵循同源策略
  2. 可以设置有效期
  3. 最大容量为4K,不要存大量数据,影响传输效率
  4. 可以在浏览器端修改

你可能感兴趣的:(Cookie)