我各位哥的友链:

大哥:emin.ink;二哥:ashtwo;三哥:pealipala.cn;

信息展示

昵称:aliveto 邮箱:some_body@foxmail.com

cookie

一:什么是cookie

  • 存储在浏览器的一段字符串(最大一般为5kb)
  • 跨域不共享
  • cookie的格式:“k1=v1;k2=v2;k3=v3…..”
  • 每次触发http请求都会将请求域下的cookie一起发送到服务器
  • server 可以对cookie进行修改,以及做一些限制,比如不让浏览器随意更改

二:cookie设值的小坑

在服务器端,如node写的后台中来这么一段代码,res.setHeader(‘Set-Cookie’,’name=张三’)。你会很惊喜的发现当服务器代码 跑起来的时候,会报一个这样的错误:The header content contains invalid characters

原因:其实是http协议的Header头有字符限制,http的header字符集支持US-ASCII子集的字符集,故设置中文是’utf8’时就会报上面错误。

解决的办法:

把字符串转成base64即可

this.cookies.set(‘test’, new Buffer(‘我是张三’).toString(‘base64’))

用的时候将base64的转为字符串就可以

new Buffer(str, ‘base64’).toString();//str是base64编码的字符串