本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
HTTP 請求和回應
Web 函數端點接受 HTTP/1.1 請求,並透過 HTTP/1.1 將其轉送到您的應用程式。Lambda 拒絕 HTTP/1.0 請求搭配 HTTP 505 (不支援 HTTP 版本)。Lambda 會保留請求方法、路徑、查詢字串、內文和大多數標頭。它會移除或變更描述用戶端與端點之間連線的標頭。它也會新增提供請求內容的標頭。
HTTP 方法
Web 函數端點支援 GET、HEAD、POST、PUT、OPTIONS、 PATCH和 DELETE。
在請求到達您的應用程式之前,Lambda 會拒絕具有 HTTP 400 回應的不支援方法。
請求標頭
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身分驗證類型。
回應標頭
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 函數錯誤類型。 |
標頭限制
請求行、請求標頭和終止空白行總計最多可達 128 KiB。在請求到達您的應用程式之前,Lambda 會拒絕 HTTP 431 (請求標頭欄位太大) 超過此限制的請求。如需故障診斷,請參閱 請求標頭限制。