1、cookie由客户端生成还是服务端生成?
服务端。
cookie是由服务端生成的,它存储在客户端的浏览器上,用于维持会话状态。当服务器发送一个请求时,它会包含一个set-cookie头,指示浏览器在请求的网页上保存cookie,浏览器以键值对的形式存储在某个目录下的文本文件内。下次请求该网站时就把cookie发送回服务器。
2、cookie是干嘛的?
web应用程序是使用HTTP协议传输数据的。HTTP协议是无状态的协议,一旦数据交换完毕,客户端和服务器的连接就会关闭,再次交换数据需要建立新的连接。这意味着服务器无法从连接上跟踪回话。要跟踪该回话,必须引入一种机制。
cookie就是这样的一种机制。可以弥补HTTP协议无状态的不足。在Session出现之前,基本上所有的网站都采用Cookie来跟踪会话。
3、cookie的生命周期
由服务端设置。
会话cookie(临时cookie) 关闭窗口就删除,可以有效保护个人隐私
永久cookie:设置有效期,在这个周期内Cookie有效,超出周期Cookie就会被清除,保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了。
4、cookie特点
- 需要遵循浏览器的同源策略。(两个网站即时根域名相同,端口或者子域名不同,那这两个网站就分别有自己的cookie,不能操作彼此的cookie)
- 内存大小有限制。大小一般限制在4k
- 在本地可以被更改。所以不能防止敏感数据