目录
Session
一、什么是Session?
Session存在服务器,利用Session存放用户数据。当浏览器第一发送请求时,服务器会自动生成一个Session和一个Session ID来标识这个session,并将Session响应给浏览器。浏览器再次请求时,会将上次服务器响应的Session ID放在请求中发给服务器,服务器收到后提取Session ID和保存的Session ID做对比,找到对应这个用户的数据信息。
二 、特点
1.Session保存在服务器,在服务器中生成
2. session中属性默认的生命周期是30分,可以通过html文件来修改
(只要用户继续访问,服务器就会更新Session的最后访问时间,并维护该Session。)
3.一个用户的浏览器,独有一个session对象
4..服务器能够为不同的浏览器提供不同的session,
(因为每个浏览器取访问web站点的时候,如果发出的http请求没有带JSESSIONID头就会自动给你创建一个)
Cookie
一、什么是cookie?
由于Http协议本身是没有状态,即服务器无法判断用户身份。
样式:key-value(一小段文本信息)
具体过程:客户端(浏览器)向服务器发起请求,服务器需要标识用户身份,就使用response向浏览器发送一个Cookie,客户端会把Cookie保存起来。当客户端再次请求网站时,客户端会把网站和Cookie一同发给服务器。服务器检查Cookie,以此来辨认用户身份。
二、 Cookie机制--会话跟踪机制
当用户第一次登录或者浏览一个网站时
(1)客户端浏览器会向服务器发送一个HttpRequest请求
(2)服务器响应给客户端一个HttpResponse(头部设置了Cookie)
(3)客户端保存了Cookie后向服务器发送请求(请求头中包含Cookie,作用:便于服务器快速识别)
(4)服务器返回HttpResponse响应数据
三、Cookie的特点
1.Cookie在服务器端创建
2.Cookie保存在浏览器(客户端)这一端
3.生命周期可以设置,默认当浏览器关闭时就消亡。
4. cooki可以被多个浏览器共享
5.cookie存放时候是以明文方式存放,因此安全性较低,可以通过加密后存放
Session和Cookie区别
两者最大的区别在于生存周期
Session:一个是IE启动到IE关闭.(浏览器页面一关 ,session就消失了),
Cookie:一个是预先设置的生存周期,或永久的保存于本地的文件。
- Session保存在服务器端并由服务器生成,Cookie保存在浏览器客户端
- Cookie不安全,暴露在浏览器,可以轻松访问,故一般要加密。考虑到安全性,一般使用Session
- 设置cookie时间可以使cookie过期。但是使用session-destory(),我们将会销毁会话。
- cookie的存储限制了数据量,只允许4KB,而session是无限量的