

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HTTP 請求和回應
<a name="web-functions-http"></a>

Web 函數端點接受 HTTP/1.1 請求，並透過 HTTP/1.1 將其轉送到您的應用程式。Lambda 拒絕 HTTP/1.0 請求搭配 HTTP 505 （不支援 HTTP 版本）。Lambda 會保留請求方法、路徑、查詢字串、內文和大多數標頭。它會移除或變更描述用戶端與端點之間連線的標頭。它也會新增提供請求內容的標頭。

## HTTP 方法
<a name="web-functions-http-methods"></a>

Web 函數端點支援 `GET`、`HEAD`、`POST`、`PUT`、`OPTIONS`、 `PATCH`和 `DELETE`。

在請求到達您的應用程式之前，Lambda 會拒絕具有 HTTP 400 回應的不支援方法。

## 請求標頭
<a name="web-functions-http-request-headers"></a>

Lambda 會在轉送請求之前移除下列標頭：
+ `Connection`、`Keep-Alive`、`Upgrade`、`Expect`、`TE` 和 `Trailer`
+ `Proxy-Authenticate`、`Proxy-Authorization` 與 `Proxy-Connection`
+ `X-Real-IP`
+ `X-HTTP-Method-Override`、`X-HTTP-Method` 與 `X-Method-Override`
+ 名稱開頭為 的標頭`lambda-web-`，以及標題中名為 的`Connection`標頭

Lambda 驗證或變更下列標頭。


| 標頭 | Behavior (行為) | 
| --- | --- | 
| Host | 必須是 Web 函數端點網域名稱 （例如 bcdfghjklmnpqrst.b7t.lambda-web.us-east-1.on.aws)，小寫且不含連接埠。Lambda 路由此值，如果不符合端點，則傳回 HTTP 404，如果缺少標頭，則傳回 HTTP 400。您的應用程式會收到端點網域名稱。 | 
| X-Forwarded-For | Lambda 會將連線用戶端的 IP 地址附加為最後一個值。先前的值來自用戶端，且未經驗證。當 Amazon CloudFront 分佈位於端點前面時，最後一個值是 CloudFront 地址。 | 

Lambda `X-Forwarded-Host` 從用戶端轉送，無需驗證。除非您控制的前門設定重新導向、絕對 URLs或主機型授權，否則請勿使用它來建置重新導向、絕對 URL 或主機型授權。

Lambda 新增下列標頭。


| 標頭 | 說明 | 
| --- | --- | 
| lambda-web-request-id | Lambda 指派給請求的識別符。 | 
| lambda-web-endpoint-name | 接收請求的端點名稱。 | 

對於使用 IAM 授權的端點，Lambda 會驗證已簽署的請求，並在轉送`Authorization`標頭之前將其移除。如需詳細資訊，請參閱[使用`IamAuth`身分驗證類型](web-functions-endpoint-access-control.md#web-functions-endpoint-access-control-iam)。

## 回應標頭
<a name="web-functions-http-response-headers"></a>

Lambda 會從應用程式的回應中移除連線範圍標頭和 HTTP 追蹤器。根據請求的結果，Lambda 可以新增下列標頭。


| 標頭 | 說明 | 
| --- | --- | 
| lambda-web-request-id | 請求識別符。使用它來建立回應與應用程式和系統日誌的關聯。 | 
| lambda-web-logstream | Amazon CloudWatch Logs 日誌串流，其中包含處理請求之執行環境的日誌。 | 
| lambda-web-error-type | 錯誤類型，格式為 <Prefix>.<ErrorReason>（例如 Platform.EndpointRequestThrottle或 Runtime.RequestTimeout)。Lambda 會針對內部服務錯誤和授權失敗省略此標頭。如需 值的清單，請參閱 [Web 函數錯誤類型](web-functions-troubleshooting.md#web-functions-troubleshooting-error-types)。 | 

## 標頭限制
<a name="web-functions-http-header-limits"></a>

請求行、請求標頭和終止空白行總計最多可達 128 KiB。在請求到達您的應用程式之前，Lambda 會拒絕 HTTP 431 （請求標頭欄位太大） 超過此限制的請求。如需故障診斷，請參閱 [請求標頭限制](web-functions-troubleshooting.md#web-functions-troubleshooting-header-limits)。