饥人谷技术博客

javaScript 之 cookie

2018-07-01  本文已影响5人  Miracletjf

cookie 概述

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

cookie 内容

cookie 一般包括一下内容

cookie 作用

一般的cookie的用途有:

生成 cookie

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

附加的属性有以下几点:

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』),转载请注明文章来源。

上一篇 下一篇

猜你喜欢

热点阅读