cookie和session
对比
- cookie:以键值对的形式保存在客户端浏览器上的信息
- session:以键值对的形式保存在服务端上的信息
HTTP机制
- HTTP协议是无状态的协议,一旦数据数据交换无比,客户端与服务器的连接就会关闭,再次交换数据就需要建立新的连接,这意味着服务器无法从连接上跟踪会话。
cookie机制
-
工作原理:服务器给客户端颁发的通行证,访问服务器时必须携带通行证进行访问
-
不可跨域名性:域名不同的网站不能互相操作彼此的cookie
-
编码:ASCII字符,Unicode编码(中文),BASE64编码(二进制数据)
-
安全性:直接在cookie中保存用户名和密码比较危险。
-
解决方案:
1.把加密的密码保存到cookie中。也可保存时间戳来替代保存密码。
2.把账号保存在cookie中,把账号连同密码保存用加密算法保存到ssid的cookie中。
-
应用:浏览器中的记住我的登陆状态。
session机制:
-
工作原理:如果说cookie是查看”通行证“来确定身份,那么session机制就是检查服务器上的”客户明细表“来确定身份。
-
两种实现方式:
1.通过cookie实现
2.通过URL重写实现
总结:cookie弥补了HTTP无状态的不足,让服务器知道来的人是谁,但是cookie以文本的形式保存在本地,自身的安全性较差;因此通过cookie识别不同的用户,对应的在session里保存私密的信息以及超过4096字节的文本