

 本白皮书仅供历史参考。有些内容可能已过时，有些链接可能不可用。

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Web 应用程序
<a name="web-application"></a>

![](http://docs.aws.amazon.com/zh_cn/whitepapers/latest/serverless-multi-tier-architectures-api-gateway-lambda/images/web-application.png)


*Web 应用程序的架构模式*

*表 3-Web 应用程序组件*


|  套餐  |  组件  | 
| --- | --- | 
|  演示  |  前端应用程序是所有静态内容（HTML、CSS JavaScript 和图像），它们都是由 React 工具生成的，比如 create-react-app。Amazon CloudFront 托管了所有这些对象。使用 Web 应用程序时，会将所有资源下载到浏览器并从那里开始运行。Web 应用程序连接到后端，调用 APIs。 | 
|  逻辑  |  逻辑层是使用 API Gateway REST 前面的 Lambda 函数构建的。 APIs<br /> 此架构显示了多个公开的服务。有多个不同的 Lambda 函数，每个函数处理应用程序的不同方面。Lambda 函数位于 API Gateway 之后，可使用 API 网址路径进行访问。<br />用户身份验证是使用 Amazon Cognito 用户池或联合用户提供商来处理的。API Gateway 使用与亚马逊 Cognito 的开箱即用集成。只有在用户通过身份验证后，客户端才会收到 JSON Web 令牌 (JWT) 令牌，然后在调用 API 时应使用该令牌。<br />每个 Lambda 函数都被分配了自己的 IAM 角色，以提供对相应数据源的访问权限。 | 
|  数据  |  在此特定示例中，DynamoDB 用于数据存储，但可以根据用例和使用场景使用其他专门构建的 Amazon 数据库或存储服务。 | 