Cookie与Session
Cookie简介
- 简介
- 特性
- cookie 用于存储 用户临时的不敏感信息。
- cookie 位于浏览器(客户端)端。
- 默认大小 4k(可以调整) cookie 中的数据,可以随意被访问,没有安全性可言。
-
cookie 中存储的数据类型, 受浏览器限制。
为什么使用Cookie
由于http协议是一种无状态的协议(客户端和服务端互相不认识)
Cookies是一些存储在用户电脑上的小文件。它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容。页面代码能够获取到Cookie值然后发送给服务器,
Cookies是一些存储在用户电脑上的小文件。它是被设计用来保存一些站点的用户数据,这样能够让服务器为这样的用户定制内容。页面代码能够获取到Cookie值然后发送给服务器,
比如Cookie中存储了所在地理位置,以后每次进入地图就可以默认定位到改地点。
Cookie的原理
- 浏览器第一次发送请求(验证码请求)给服务器,服务器会生成一个Session-id 与Session对象。并将Session-id 回传给浏览器,此时Cookie会保存Session-id。
- 当浏览器第二次请求(登录请求)会发送账号、密码、验证码,同时携带Cookie给服务器,服务器会校验账号、密码,如果正确,会生成一个用户凭证(user_id)保存在Session对象中,表示用户登录成功。
- 当浏览器第三次发送请求时,只携带cookie(session-id ),服务器会查找 session-id对应的session对象是否有user-id。有则以登录,无则未登录。
面试题 Cookie 和 Session 区别
1. 数据存储位置:
cookie存储在浏览器;session存储在服务器。
2. 安全性:
cookie中的数据可以随意获取,没有安全性可言。Session的数据多为加密存储,安全较高!
3. 数据类型:
cookie支持的数据类型受浏览器限制,较少;Session直接使用服务器存储,支持所有数据类型
4. 大小:
cookie大小默认 4k; Session 大小约为服务器存储空间大小。