随笔之Session和Cookie的
- Cookie默认存在浏览器的内存中(也可以通过设置MaxAge的方式实现缓存在磁盘上)
- Cookie在浏览器关闭后,默认会将生命周期完结的或者缓存在内存中的值清除
- 不同浏览器支持的Cookie数量和大小都不同(网上所说的4k大小和每个域名20个Cookie已经不对了)
- 浏览器禁用Cookie后,服务器通过URL重写的方式,会将SessionID传回给浏览器
- Cookie不安全,由于存在本地,别人可以通过解析Cookie文件,操作曾经登录的相关账号等,造成不必要的损失
- 有些网站默认的设置Cookie时长为1年,会大量占用磁盘,因此有些浏览器默认禁用Cookie
- Session是存贮在服务器中的,一般登录操作通过Session对象,达到多页面共享数据的效果
- Session对象默认的存活时长为半小时(1800s),SessionID默认通过JSessionID属性进行保存
- Session中的SessionID默认保存在Cookie中,即Session依赖于Cookie
- 对应请求,浏览器会根据SessionID判断是否是同一个浏览器发出的请求,从而触发后续的操作
- Session保存在浏览器中,因此尽量能不用Session就不用Session,过多的Session会导致服务器奔溃
- Session可以解决很多问题,包括表单重复提交、商城购物车等
- Session是Jsp内置的九大隐藏对象之一,也是四大域对象之一(九大隐藏对象就是Sevlet类中的九个对象)
java从入门到放弃,你值得拥有!