两者都是用来识别客户身份的东西(两者可搭配使用)
区别在于:
- cookie是存储在客户端上的,用户发送请求时浏览器会在请求头上带上cookie。相当于‘身份证’。
session是存储在服务端上的,相当于一个档案库,存储用户身份信息的,(通过一个唯一SessionID来获取)
- 有效时间上,cookie默认是浏览器关闭就失效,或者超过设置的有效期就失效了。
session是通过用户最后访问的时间来判断,若时间超过所设定的期限,则该session就会被清除
- 大小限制上,cookie受浏览器影响,大小限制也不一样,为了兼容总长通常是4093bytes。
session存在服务端,大小不受限制,但为了性能着想,尽量精简
- 安全性上,存在客户端上的cookie不如服务端上的session安全,要做好加密和安全校验