其它
前端登录
1. Cookie + Session 登录
- 服务器创建 SessionId,保存在服务器端,并将其写入到客户端的 Cookie 中。
- 用户再次请求时,服务器通过比对 Cookie 中的 SessionId 和服务器端的 SessionId 来验证身份。
- 适用于简单的后端架构,但需要处理好安全问题。
2. Token 登录
- 服务器验证用户后创建 Token,返回给客户端保存。
- 用户再次请求时,带上 Token 进行身份验证。
- 适合大型分布式的后端架构,但已发出的 Token 如果想收回权限,处理起来比较麻烦。
3. SSO 单点登录
- 用户只需要在认证中心登录一次,就可以访问所有相互信任的应用系统。
- 认证中心进行身份验证,并给各个子系统下发授权。
- 适用于中大型企业,可以统一内部所有产品的登录方式。
4. OAuth 第三方登录
- 用户通过第三方网站(如微信、微博等)的账号登录应用。
- 第三方网站进行身份验证,然后给应用下发访问令牌。
- 简单易用,对用户和开发者都友好,但需要选择合适的第三方登录平台。
Unicode、UTF-8、UTF-16、UTF-32 的区别?
特征 | Unicode | UTF-8 | UTF-16 | UTF-32 |
---|---|---|---|---|
编码方式 | 抽象字符集 | 变长编码 | 变长编码 | 定长编码 |
编码范围 | U+0000 - U+10FFFF | 0x00 - 0xFF | 0x0000 - 0xFFFF | 0x00000000 - 0xFFFFFFFF |
编码单元大小 | 可变 | 1 - 4 字节 | 2 或 4 字节 | 4 字节 |
兼容性 | 与大多数编程语言和操作系统兼容 | 与大多数编程语言和操作系统兼容 | 与大多数编程语言和操作系统兼容 | 与大多数编程语言和操作系统兼容 |
优点 | 可以表示世界上所有语言的字符 | 紧凑,适用于大多数文本 | 适用于表示较大的字符集 | 适用于表示非常大的字符集 |
缺点 | 编码单元大小可变,可能导致对齐问题 | 编码单元大小可变,可能导致对齐问题 | 编码单元大小固定,可能导致空间浪费 | 编码单元大小固定,可能导致空间浪费 |