

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

# REST 请求
<a name="api-requests-rest-overview"></a>

根据 [RFC 2616 的定义，亚马逊 Route 53 R](https://www.ietf.org/rfc/rfc2616.txt) EST 请求是 HTTPS 请求。本节介绍了 Route 53 的 REST 请求的结构。

典型的 REST 操作包括向 Route 53 发送一个 HTTPS 请求并等待响应。与任何 HTTP 请求一样，对 Route 53 的 REST 请求包含请求方法、URI、请求标头，有时还包含查询字符串或请求正文。响应包含 HTTP 状态码、响应标题，有时候包含响应主体。

## 请求 URI
<a name="api-requests-rest-uri"></a>

请求 URI 始终以正斜杠开头，然后是您使用的 Route 53 API 的版本（例如 2013-04-01）。URI 的余项表示您希望起作用的特定资源。例如，以下是您在创建新的托管区域时使用的 URI。（有关更多信息，请参阅 [CreateHostedZone](https://docs.aws.amazon.com/Route53/latest/APIReference/API_CreateHostedZone.html)。）

```
1. /2013-04-01/hostedzone
```

## 关于请求时间戳
<a name="api-requests-rest-time-stamp"></a>

您必须在 HTTP `Date` 标头或标头中提供时间戳（某些 HTTP 客户端库不允许您设置标`Date`头）。 AWS `x-amz-date`当 `x-amz-date` 标头呈现时，系统在验证请求身份时会忽略任何 `Date` 标头。

时间戳必须在收到请求的 AWS 系统时间的 5 分钟以内。如果不在，请求失败，出现`RequestExpired`错误代码。这是为了防止对手重播您的请求。

例如，必须以 ISO 8601 格式指定日期。`2016-03-03T19:20:25.177Z`有关 ISO 8601 格式的更多信息，请参阅维基百科文章 [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)。

## 请求正文
<a name="api-requests-rest-body"></a>

许多 Route 53 API 操作都要求您在请求正文中包含 XML。XML 符合 Route 53 架构。

**Example 请求示例**  
*以下示例请求使用简单的 XML 语句创建名为 example.com 的托管区域，其参考标识符为 my。UniqueIdentifier*  
请求中的 XML 元素必须按所列顺序出现。  

```
 1. POST /2013-04-01/hostedzone HTTP/1.1
 2. host:route53.amazonaws.com
 3. x-amz-date:{{date and time of the request}}
 4. authorization:AWS4-HMAC-SHA256
 5.               Credential=AKIAIOSFODNN7EXAMPLE/{{date of the request in yyyymmdd format}}/us-east-1/route53domains/aws4_request,
 6.               SignedHeaders=content-length;content-type;host;user-agent;x-amz-date;x-amz-target,
 7.               Signature={{computed signature}}
 8. {{[Other required headers]}}
 9. 		
10. <?xml version="1.0" encoding="UTF-8"?>
11. <CreateHostedZoneRequest xmlns="https://route53.amazonaws.com/
12. doc/2013-04-01/">
13.    <Name>{{example.com.}}</Name>
14.    <CallerReference>{{myUniqueIdentifier}}</CallerReference>
15.    <HostedZoneConfig>
16.       <Comment>{{This is my hosted zone.}}</Comment>
17.    </HostedZoneConfig>
18. </CreateHostedZoneRequest>
```