2021-09-24 04:45:20
RESTful API 是一种基于 HTTP 协议的接口设计风格,其核心在于通过统一的接口规范实现资源的操作。
GET 和 POST 是最常用的 HTTP 方法,分别用于获取资源和提交数据。
授权机制是 RESTful API 的重要组成部分,其中 Bearer Token 是一种常见的授权方式。
Bearer Token 的本质:客户端发送一串经过 Base64 编码的数据作为 Token,代表该应用已在授权服务器上通过验证。
Token 的作用:服务器通过 Token 判断客户端是否处于授权状态,类似于古早的汽车钥匙机制。
续期机制:每次成功请求附带“续期码”,Token 失效后可通过“续期码”再次请求授权,无需重新输入用户名和密码。
前后端分离:RESTful API 的设计使得前后端分离更加清晰。
前端职责:专注于数据结构和用户界面的渲染,无需关心后端逻辑。
后端职责:管理授权和数据结构,提供稳定的 API 接口。
关于前端和后端的误解:
错误认知:前端仅负责浏览器渲染,后端仅负责服务器代码。
正确理解:前端和后端的区分在于业务内容是面向用户还是业务逻辑,而非代码运行位置。许多技术(如服务器端渲染)模糊了这一界限。
授权与验证的挑战:
常见授权方式:
微信账号授权:通过扫码验证身份。
手机号码/邮箱验证:发送唯一 URL 或验证码进行验证。
潜在问题:
成本问题:发送邮件和短信需要费用,且可能需要备案。
HTTPS 要求:微信账号授权 API 要求站点使用 HTTPS 协议,涉及证书购买和备案等繁琐流程。
账号寻回机制:
基本要求:授权应用应具备发送邮件和手机短信的能力,确保账号可被寻回。
服务器端秘密生成:在客户请求寻回账号时,服务器生成一个唯一秘密并发送给客户,客户需输入该秘密以验证身份。
系统管理员的职责:
直接联系客户:在无法自动联系客户的情况下,管理员应能够通过其他方式(如电话或邮件)直接联系客户,协助解决问题。
总结:RESTful API 的设计使得前后端分离更加清晰,授权机制(如 Bearer Token)确保了接口的安全性。前后端的区分在于业务内容而非代码运行位置,授权与验证是系统设计中需要重点考虑的部分。账号寻回机制和系统管理员的直接联系能力是保障用户体验和系统安全的重要环节。