java-web-day7-会话跟踪技术

会话跟踪技术

1.cookie

优点:HTTP协议中支持的技术

缺点:

移动端App无法使用cookie

安全性不强, 而且用户可以自己禁用cookie

cookie不能跨域

什么是跨域?协议,IP/域名, 端口三者中有一个不一样就是跨域

2.session--基于cookie实现

优点:用户数据存储在服务端, 只给浏览器一个id凭证, 数据最安全

缺点:

1.服务器集群环境下无法直接使用session

2.因为session是基于cookie实现的, 所以cookie的缺点, 它都有

3.因为数据存储在服务端, 会增加服务器的存储压力

3.令牌技术

优点:

1.在pc端, 移动端都可以使用

2.解决了集群环境的认证问题

3.数据没有存储在服务端, 可以减轻服务端存储压力

缺点:

需要自己去实现

三种会话跟踪技术的比较:

1.cookie是将用户信息存储在cookie中, 然后

浏览器在请求响应中带着这些信息去进行服务器验证

2.session是将用户信息存储在服务端,由服务端只给浏览器一个代表身份的id,

浏览器在请求和响应中携带id, 然后服务器对id进行解析, 完成身份验证

3.令牌技术是服务器将用户信息进行编码签名, 生成一个身份令牌,

然后发送令牌给浏览器作为身份凭证, 浏览器在请求和响应中携带令牌进行身份验证

打个比方:

你去微服私访, 去拜访县太爷,

cookie相当于自报家门, 嗯, 老子就是你的老大

session相当于入场券, 鄙人, 是被县太爷邀请来的,这是请柬, 你们可以查备案啊

而令牌相当于,你没说你是皇帝, 但是你穿着龙袍,

其实就是对用户信息进行编码, 加上签名

相关推荐
AI+程序员在路上1 小时前
VS Code 完全使用指南:下载、安装、核心功能与 内置AI 编程助手实战
开发语言·人工智能·windows·开源
小码哥_常1 小时前
安卓开发秘籍:解锁10大性能优化秘诀
前端
invicinble1 小时前
这里对java的知识体系做一个全域的介绍
java·开发语言·python
catchadmin1 小时前
使用 PHP TrueAsync 改造 Laravel 协程异步化的可行路径
开发语言·php·laravel
wbs_scy1 小时前
【Linux 线程进阶】进程 vs 线程资源划分 + 线程控制全详解
java·开发语言
ss2731 小时前
食谱推荐系统功能测试如何写?
java·数据库·spring boot·功能测试
AI人工智能+电脑小能手2 小时前
【大白话说Java面试题】【Java基础篇】第15题:JDK1.7中HashMap扩容为什么会发生死循环?如何解决
java·开发语言·数据结构·后端·面试·哈希算法
try2find2 小时前
打印ascii码报错问题
java·linux·前端
014-code2 小时前
CompletableFuture 实战模板(超时、组合、异常链处理)
java·数据库
Nicander2 小时前
多数据源下@transcation事务踩坑
java·后端