GitHub

关于session和cookie

  • cookie 是在服务器端创建,然后服务器发送到浏览器端,存储在浏览器边,当再次请求服务器时候,浏览器会将该域中的相关cookie发送到服务器端。
  • cookie存储的数据大小不能超过4k。
  • cookie 是有domain和path的概念的,domain表示cookie所在域,path表示cookie所在目录,现设一个cookie1的path为/test/,cookie2的path为/test/cd/,那么test下的所有页面都可以访问到cookie1,而/test/和/test/dd/的子页面不能访问cookie2。
  • 浏览器会将domain和path都相同的cookie保存在一个文件里,cookie间用*隔开。
  • header 中的 cookie:用js中的 document.cookie 是无法访问到http header中设置的cookie的,是因为cookie中有个属性叫HttpOnly,当这个值设为true时,浏览器是无法读取这个cookie值的,只有服务端能够读取。所以一般登出都是需要请求服务器。
  • session是用于唯一标志客户信息的对象,容器通过浏览器端传送的cookie中的sessionid来区分不同的客户对象,所以session依赖于cookie,服务器之间通信是没有session这个概念的,但是可以共享session,这里关于共享不做过多赘述。

参考文章:

  https://segmentfault.com/q/1010000007258404

posted @ 2018-11-01 12:01  長风  阅读(114)  评论(0编辑  收藏  举报