零、 架构
1. 前后端分离的架构
2. http(s)
- ajax
3.接口
- url
- request(header,body)
- response(header,body<json>)
- type(get,post,put,patch,delete)
- content-type(formdata,json)
4.mock
- http-proxy-middleware
一、前端
1. UI框架(基于bootstrap/adminLTE)
2. js库(jQuery)
3. 路由(SMERouter)
4. Model(ajax调用)
5. Handlebars
6. Webpack(前端工程化)
二、后端
(一) 技术层面
0. RMVC
1. Node.js + Express
2. R : Express 路由中间件
3. M : MongoDB + Mongoose
4. V : EJS
5. C : Express 业务中间件
(二) 登录注册
1. cookie + session
-缺点: cookie 容易被钓鱼,在服务器端存储(需要维护且容易丢失),cookie存储数据有限
2.token(oAuth2)
- 登录成功,记录用户的登录状态(http是无状态的协议,下次登录这个页面需要重新验证,所以需要手工记录用户的登录状态)
- 在后端生成token
jsonwebtoken:
- 对称加密
- 非对称加密(自己生成公钥和私钥)
- 通过 header 将token传递给前端
- 前端存储在localstrage里
- 当需要鉴权时,前端将token再通过header传递给后端
- 后端进行认证
优点:
不需要后端存储数据
非对称加密,无法破解
缺点:
重放攻击