1、 什么是Cookie?
- Cookie是在浏览器中存储的和具体网站相关的一堆数据,并且每次向服务器请求的时候除了发送表单参数外,还会将和站点相关的所有Cookie都提交给服务器。
- Cookie是保存在浏览器端的,而且浏览器会在每次请求的时候都会把和这个站点的相关的Cookie提交到服务器,并且将服务端返回的Cookie更新回数据库,因此可以将信息保存在Cookie中,然后在服务器端读取、修改。
2、如果不设定MaxAge(或者是负值)那么生命周期则是关闭浏览器则终止,否则“最多”到MaxAge(以秒为单位)的时候终止。
3、Cookie的缺点:
-
Cookie是不可信的
-
还不能存储过多信息,机密信息不能存(不要把不希望用户看到的或者不能被用户篡改的信息放到Cookie)。
-
Cookie:是可以被清除,不能把不能丢的数据存到Cookie中,也许没到Expires就已经过期了。
-
删除Cookie的方法:设定setMaxAge为0。
2、Session
session表示会话,表示客户端和服务器的一次“连接”,即从用户打开浏览器访问网站开始,到用户关闭浏览器为止,就是一个session,期间所有对该网站的访问都属于同一个session
设置Session过期时间:
默认session对象的最大空闲时间是30分钟,也就是说用户如果30分钟内没有再次访问网站,服务器就会销毁该用户对应的session对象,如果30分钟后再次访问时,服务器会创建新的session,新的sessionId cookie也会覆盖原来的cookie
在不设置Cookie过期时间的条件下,关闭浏览器之后,不是session销毁了,而是Cookie中的SessionId没了。
session的实现借助了cookie技术,当创建session对象后,服务器会把session对象保存到一个map中,并且会把sessionId以cookie的形式发送到客户端,这样后面的请求都会携带这个sessionId cookie,服务器就会根据cookie里面的sessionId到map中去到对应的session对象