在头部设置cookie,所有cookie都会作为request header发送
HTTP/1.1 200 OK
Content-type: text/html
Set-Cookie: name=value; domain=.wrox.com; path=/; secure //secure表示只有在https才使用
Other-header: other-header-value
Content-type: text/html
Set-Cookie: name=value; domain=.wrox.com; path=/; secure //secure表示只有在https才使用
Other-header: other-header-value
设置cookie之后,客户端每一次向服务器发送请求时都会带上cookie,所以存储太多数据还是会影响请求速度的
设置cookie的语法,path=/ 表示该cookie在整个域有效
document.cookie = 'ppkcookie1=testcookie; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
最好是转码一下:
document.cookie = encodeURIComponent("ppkcookie1")+"="encodeURIComponent("testcookie") +"; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/";
继续添加的语法一致
document.cookie = 'ppkcookie2=testcookie2; expires=Thu, 2 Aug 2001 20:47:11 UTC; path=/'
因为document.cookie并不是一个字符串,所以不会覆盖
读取cookie 使用 document.cookie得到全部:
ppkcookie1=testcookie; ppkcookie2=testcookie2
因此查找具体某一个cookie需要使用indexOf查找开始和结束位置,再用substring方法切割出来。。
移除cookie只需要把有效期设置为已经过去的日期即可,如果expires没有设置表示用户关掉浏览器就失效
document.cookie = 'ppkcookie2=yet another test; expires=Fri, 27 Jul 2001 02:47:11 UTC; path=/'
为了解决每个域名对cookie的数量限制,可以使用subcookie,就是在把cookie的值放入许多键值对:
name=name1=value1&name2=value2&name3=value3&name4=value4&name5=value5
有一种cookie叫做HTTP-only,这种cookie可以通过浏览器或者服务器设置,但是只能从服务器读取,javascript无法获得