javaScript 之 cookie

作者: Miracletjf | 来源:发表于2018-07-01 21:20 被阅读5次

cookie 概述

cookie是服务器保存在浏览器端的一小段文本信息,每个cookie的大小一般不超过4KB。服务器给浏览器设置了cookie以后,浏览器没错向服务器发送请求时,就会附上cookie。每一个cookie都有对应的域名浏览器
cookie是提供给HTTP协议使用的,可以通过HTTP协议传送。

cookie 内容

cookie 一般包括一下内容

  • cookie的名字
  • cookie的值
  • 到期时间
  • 所属域名 (默认当前域名)
  • 生效的路径 (默认当前网址)

cookie 作用

一般的cookie的用途有:

  • 对话: 保存用户登录状态,购物车信息等
  • 个性化:保存用户的偏好设置,例如:字体大小,配色等
  • 追踪:记录和分析用户的行为

生成 cookie

服务器生成cookie是通过设置HTTP请求头的Set-Cookie来设置的。Set-Cookie可以有多个。除了可以设置Cookie的值,还可以设置附加的Cookie的属性,一个Set-Cookie字段,可以包括多个属性,没有次序要求。

附加的属性有以下几点:

  • Expires=<date> (UTC格式的日期)
  • Max-Age=<non-zero-digit> (最大失效时间,定义自设置cookie开始后失效的秒数)
  • Domain=<domain-value> (指定域名,默认指当前的一级域名)
  • Path=<path-value> (指定路径)
  • Secure (一个带有安全属性的cookie,只有在请求使用HTTPSSSL协议时,才发送到服务器。)
  • HttpOnly (禁止JavaScript访问cookie,可以防范XSS跨站脚本攻击)

Set-Cookie 语法

Set-Cookie: <cookie-name>=<cookie-value> 
Set-Cookie: <cookie-name>=<cookie-value>; Expires=<date>
Set-Cookie: <cookie-name>=<cookie-value>; Max-Age=<non-zero-digit>
Set-Cookie: <cookie-name>=<cookie-value>; Domain=<domain-value>
Set-Cookie: <cookie-name>=<cookie-value>; Path=<path-value>
Set-Cookie: <cookie-name>=<cookie-value>; Secure
Set-Cookie: <cookie-name>=<cookie-value>; HttpOnly

node.js 设置示例

response.setHeader('Set-Cookie',[`email=${user['email']}`,`Max-Age=${60*60*24*7}`]);

发送 cookie

在服务器给浏览器设置好cookie后,浏览器访问服务器都会带上相应的cookie(满足限制条件的前提下)。
服务器根据浏览器发送的cookie获取用户数据,并返回给用户,实现记住用户的状态等功能。

浏览器 访问

浏览器可以通过document.cookie访问当前域名下的cookie,也可以通过这个属性设置cookie。如果服务器设置了HttpOnly,那么就无法使用javascript来操作cookiel。

总结

以上就是对在下对cookie的简单的理解,要想深入的了解还是需要动手操作的。本文参考来一些网上的开源文章(阮老师的CookieMDN的开源文档)。
文中有认识不正确的地方,欢迎指正(可以发送邮件到本人邮箱『1398988546@qq.com』),转载请注明文章来源。

相关文章

  • 【JS】JavaScript Cookie(js-cookie)

    什么是JavaScript Cookie(js-cookie) JavaScript Cookie是一个简单、轻巧...

  • javaScript 之 cookie

    cookie 概述 cookie是服务器保存在浏览器端的一小段文本信息,每个cookie的大小一般不超过4KB。服...

  • JavaScript之cookie

    cookie 也叫 HTTP Cookie, 最初是客户端与服务器端进行会话使用的。 比如, 会员登录,下次回访网...

  • cookie实战

    使用JavaScript操作cookie 创建和存储cookie。 2.读取cookie值 3.判断cookie是...

  • javascript - 基础之cookie

    1. Cookie是什么 Web浏览器和服务器通过HTTP协议进行数据交流和通信,并且HTTP协议是无状态(sta...

  • JavaScript基础之JavaScript Cookie(八

    web 页面时, 属于该页面的 cookie 会被添加到该请求中。服务端通过这种方式来获取用户的信息。JavaSc...

  • cookie简介

    1、获取Cookie: 2、设置Cookie: 由于cookie保存在客户端的电脑上,所以,JavaScript和...

  • cookie

    javascript里的document.cookie是文本形式的:document.cookie="userId...

  • js-cookie

    js-cookie 用于处理 cookie 的简单、轻量级 JavaScript APIgitHub官方地址:ht...

  • JS操作cookie的方法

    运用JS设置cookie、读取cookie、删除cookie JavaScript是运行在客户端的脚本,因此一般是...

网友评论

    本文标题:javaScript 之 cookie

    本文链接:https://www.haomeiwen.com/subject/osphuftx.html