简介
因为HTTP请求是无状态的(不会记录任何信息)。
cookie
简介:服务器在本地机器上存储的小段文本并随每一个请求发送至同一个服务器。网络服务器用HTTP头向客户端发送cookies,
在客户终端,浏览器解析这些cookies并将它们保存为一个本地文件,它会自动将同一服务器的任何请求缚上这些cookies 。
1.浏览器实现的一种数据存储方式,存储在客户端上;
2.cookie由服务器生成,发给浏览器,浏览器以kv形式保存至文件目录,下次请求传给服务器;
3.浏览器加入限制确保cookie不会被恶意使用,每个域的cookie数量是有限的保证不占据太多磁盘空间;
4.安全性低,单个cookie保存的数据不能超过4K;
session (会话)
简介:通过sessionId建立起浏览器和服务器之间的连接(使得服务端维护“状态”),
服务端为客户端请求创建session并生成关联的session id,本次响应中返回给客户端,
客户端使用cookie保存session id(cookie只是方式的一种),下次请求时带上。
注:cookie可以被禁止,可通过URL重写(把session id附加在URL路径后)
或隐藏表单字段(服务器会自动修改表单添加隐藏字段)将session id传给服务器。
1.服务器使用session临时保存用户信息,存储在服务端,离开网站即销毁;
2.web服务器做负载均衡时迁移到另一台服务器session会丢失;
3.存在内存开销、可扩展性、CORS(跨域资源共享)、CSRF(跨站请求伪造)等问题;
4.session必须靠链路层来保障通讯安全;
token(令牌)
简介:不存储标识,通过分配令牌,每次header请求带过来再次算法校验(时间换空间);
1.用户身份的验证方式(算法+签名),同时能放入一些参数;
4.每个请求都有签名还能防止监听以及重放攻击;
网友评论