API 是 Internet 通信的主干。每个开发人员都需要了解 API。以下是涵盖最重要主题的路线图:
API 是一组用于构建应用程序的协议和工具。存在不同类型的 API,例如 public、private 和 partner。
需要了解各种 API 术语,例如 HTTP 版本、Cookie 和缓存。
最常见的 API 样式是 REST、SOAP、GraphQL、gRPC 和 WebSockets
API 身份验证技术,如基本身份验证、令牌、JWT、OAuth 和会话身份验证
一个好的 API 是可以理解的。Swagger、Postman、Redoc 和 DapperDox 等 API 文档工具使之成为可能。
API 的主要功能包括分页、参数、幂等性、API 版本控制、HATEOAS 和内容协商
常见的 API 性能技术包括缓存、速率限制、负载均衡、分页、数据库索引、扩展和性能测试。
了解 API 网关,例如 Amazon API Gateway、Azure API Services、Kong、Nginx 等。
最流行的 API 开发框架是 Node.js、Spring、Flask、Django 和 FastAPI
了解各种 API 集成模式,例如网关、事件驱动、Webhook、轮询和批处理。
下图显示了代码优先开发和 API 优先开发之间的区别。为什么我们要考虑 API 优先设计?
我们有单独的服务来服务于系统的不同功能。虽然这种架构有助于解耦和职责分离,但我们需要处理服务之间的各种通信。
专门的功能团队只负责自己的组件和服务。建议组织通过 API 设计使用相同的语言。
由于我们已经消除了项目开始时的大部分不确定性,因此整体开发过程更加顺畅,软件质量也大大提高。
OAuth 2.0 是一个功能强大且安全的框架,它允许不同的应用程序代表用户安全地相互交互,而无需共享敏感凭据。
OAuth 中涉及的实体是用户、服务器和身份提供者 (IDP)。
OAuth 令牌有什么作用?
使用 OAuth 时,您将获得一个代表您的身份和权限的 OAuth 令牌。此令牌可以做一些重要的事情:
单点登录 (SSO):使用 OAuth 令牌,您只需一次登录即可登录多个服务或应用程序,让生活更轻松、更安全。
跨系统授权:OAuth 令牌允许您在各种系统之间共享您的授权或访问权限,因此您不必在任何地方单独登录。
访问用户配置文件:具有 OAuth 令牌的应用程序可以访问您允许的用户配置文件的某些部分,但它们不会看到所有内容。
请记住,OAuth 2.0 旨在保护您和您的数据安全,同时让您的在线体验在不同的应用程序和服务之间无缝且轻松。
交给您:想象一下,您有一种神奇的能力,可以实现 OAuth 2.0 的一个愿望。那会是什么?也许您的建议实际上导致了 OAuth 3。
当您登录网站时,需要管理您的身份。以下是不同解决方案的工作原理:
会话 - 服务器存储您的身份并为浏览器提供会话 ID Cookie。这允许服务器跟踪登录状态。但是 cookie 不能在设备上正常工作。
令牌 - 您的身份被编码为发送到浏览器的令牌。浏览器在将来的身份验证请求中发送此令牌。不需要服务器会话存储。但是令牌需要加密/解密。
JWT - JSON Web 令牌使用数字签名实现信任,从而对身份令牌进行标准化。签名包含在令牌中,因此不需要服务器会话。
SSO - Single Sign On 使用中央身份验证服务。这允许单个登录在多个站点上工作。
OAuth2 - 允许一个站点对另一个站点上的数据进行有限访问,而不会泄露密码。
QR Code - 将随机令牌编码为 QR 码以进行移动登录。扫描代码无需键入密码即可登录。
https://blog.bytebytego.com/p/ep147-the-ultimate-api-learning-roadmap