cookie
cookie是在客户端运作的(浏览器)
cookie是客户端保存用户信息的机制,用来记录用户的一些信息。每次HTTP请求时客户端都会发送相应的cookie
到服务端,过期时间可以任意设置,如果不清除,在很长一段时间都会保留,即便把电脑关机了
session
session是在服务器端运作的()
session是服务器端使用的一种记录客户端的机制,使用上比cookie简单一些同一个客户端和服务端交互时,不需要每次
都传回cookie值,而是只要传回一个ID,这个ID客户端第一次访问服务器的时候生成的,而且每个客户端都是唯一的。这样每个客户端都有了一个唯一的ID,客户端只要传回这个ID就行了,这个ID通常是name为jsesionid的一个cookie。session是依据这个ID来识别是否为同一个用户(只认ID不认人)
共同点:
session和cookie的共同点:记录用户状态
cookie是记录在浏览器上面的
session是记录在服务器上的
http的cookie和session都可以是伪造的
cookie的内容主要包括:名字,值,过期时间,路径和域。
看到一个cookie,至少知道cookie这6个字段分别是什么?
name:cookie的名字
value:cookie的值
domain:cookie的作用域
path:cookie使用的路径
secure: cookie的安全策略
expire:cookie的过期时间
cookie和session的区别:
1. cookie数据存放在客户的浏览器上,session数据放在服务器上
2. cookie不是很安全,别人可以分析放在本地的cookie并进行cookie欺骗,考虑到安全应当使用session
3. session会在一定时间内保存在服务器上。当访问增多,会比较占用你服务器的性能
考虑到减轻服务器性能方面,应当使用COOKIE。
4. 单个cookie保存的数据不能超过4K,很多浏览器都限制一个站点最多保存20个cookie。
5. 所以个人建议:
将登陆信息等重要信息存放为SESSION
其他信息如果需要保留,可以放在COOKIE中