首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
外卖项目总结(1)
返回列表
发新帖
外卖项目总结(1)
[复制链接]
发表于 2025-7-7 23:56:42
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
外卖项目总结
技术点
Nginx
1.1 Http
服务器
,部署静态资源,访问
性能
高。
1.2
负载
均衡:通过调理算法将客户端的访问流量分发到差别的应用
服务器
上面,避免单点故障。
1.3 反向代理与正向代理
相同点:都位于客户端与
服务器
之间
差别点:
正向代理反向代理为客户端服务为服务器端服务应用在FQ、内网访问应用在
负载
均衡、隐藏真实服务器IP客户端设置代理服务器端设置代理客户端直到目标服务器客户端只知道代理服务器
Swagger——框架
接口
文档
的在线天生,让
API
结构主动化地以可视化的形式展现出来。提供了接口
文档
的主动天生、交互式测试、接口定义规范
SpringBoot中的使用:
2.1 引入依赖
2.2 添加设置类
2.3 在对应位置使用注解
常用注解:
@Api(tags = "")//用在类上
@ApiModel//用在类上
@ApiModelProperty//用在属性上
@ApiOperation//方法上
复制
代码
面试一问:
Swagger
文档
对生产环境是否
安全
?
不建议在生产环境袒露Swagger,可能导致接口被恶意测试或攻击。通常设置为仅在开辟或测试环境启用
使用过程中碰到过什么问题
我在使用 Swagger 时碰到过接口过多导致加载速度变慢的问题,后来通过分组(groupName)、限定扫描包路径、升级 Springdoc
版本
解决。此外,对于须要登录态的接口,设置了全局参数添加 Token 以便测试。
Swagger有哪些代替方案
Apifox: 国内常用,集接口文档、调试、Mock、测试于一体
Knife4J:Swagger的增强UI,中文社区常用
JWT
将原始的JSON数据进行
安全
封装,右Header(令牌类型、署名算法等)、载荷(携带信息)、署名(防伪)组成
应用场景:身份验证、授权、信息交换
使用流程:
导入依赖
编写工具类
利用工具类下发/解析JWT实现
功能
认证流程:
用户登录,服务端验证用户名密码正确后,天生 JWT(包含用户信息)并返回给客户端。
客户端将 JWT
存储
(通常在 localStorage 或 sessionStorage)。
客户端每次请求
API
时,将 JWT 放在 HTTP Header(Authorization: Bearer )。
服务端通过验证 JWT 的署名,确定用户身份,无需再查询
数据库
。
优点:
无状态:服务器端不须要
存储
Session信息,减少了服务器压力,适合分布式架构
跨语言支持:基于JSON,各语言均有库支持
安全
性:通过署名可以防止篡改
面试一问:
JWT与Session区别
|Session|JWT|
|----|----|
|服务器端生存Session|服务端无状态,不生存token|
|扩展到多服务器须要共享Session|JWT自包含,适合分布式架构|
|相对安全,不易被盗取|易被盗取,需共同https|
JWT怎样防止被篡改
通过署名算法,验证载荷是否被修改
JWT可以
存储
敏感信息吗
不建议。虽然署名能
防篡改
,但 Payload 是明文可解码(Base64Url 编码),除非对内容进行额外
加密
。
JWT怎样实现过期
使用 Payload 中的 exp 字段,服务端验证 Token 是否过期。
JWT怎样实现登出
由于 JWT 无状态,登出比力麻烦:可以维护黑名单(存储已登出 Token 的标识);减短 Token 有用期 + 使用 Refresh Token 机制。
JWT有Refresh Token吗?
通常联合使用:Access Token:短有用期(如 15min),用于访问资源;Refresh Token:长有用期,用于获取新的 Access Token
Refresh Token
背景:Access Token 一样平常设置较短的过期时间(如15min)以提升安全性。但如果Access Token过期,用户须要重新登录会导致体验很差。由此引入了Refresh Token(刷新令牌),用于在Access Token过期后,无需重新登录即可调换新的Access Token
工作原理:
用户登录成功
服务端天生Access Token(短期有用),同时天生Refresh Token(长期有用)。将两者返回给客户端
客户端请求接口时
使用 Access Token进行认证
当 Access Token过期
客户端使用Refresh Token 请求服务端刷新获取新的Access Token
如果Refresh Token 也过期
用户须要重新登录
存储位置
Access Token: LocalStorage / SessionStorage / Cookie
Refresh Token: 通常存放在HttpOnly Cookie,避免被js读取,进步安全性
面试一问:
为什么Access Token不设置长一点的有用期?
安全性考虑:Token有用期越短,即使被盗取,也能尽快失效
Refresh Token可以打消吗?
可以,通常在服务端维护:Refresh Token列表或黑名单;用户登出时,立即将Refresh Token失效。
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
人工智能
Postrge-SQL
前端开发
物联网
SQL-Server
数据仓库与分析
SAAS
程序人生
数据安全
滴水恩情
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表