Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Requêtes et réponses HTTP
Un point de terminaison Web Function accepte les HTTP/1.1 demandes et les transmet à votre application HTTP/1.1. Lambda rejette les HTTP/1.0 requêtes via HTTP 505 (version HTTP non prise en charge). Lambda préserve la méthode de requête, le chemin, la chaîne de requête, le corps et la plupart des en-têtes. Il supprime ou modifie les en-têtes qui décrivent la connexion entre le client et le point de terminaison. Il ajoute également des en-têtes qui fournissent le contexte de la demande.
Méthodes HTTP
Les points de terminaison Web Function prennent en charge GET HEADPOST,PUT,PATCH,OPTIONS, etDELETE.
Lambda rejette une méthode non prise en charge avec une réponse HTTP 400 avant que la demande n'atteigne votre application.
En-têtes de demandes
Lambda supprime les en-têtes suivants avant de transmettre une demande :
-
Connection,Keep-Alive,Upgrade,Expect,TE, etTrailer -
Proxy-Authenticate,Proxy-AuthorizationetProxy-Connection -
X-Real-IP -
X-HTTP-Method-Override,X-HTTP-MethodetX-Method-Override -
En-têtes dont le nom commence
lambda-web-par et en-têtes nommés dans l'en-têteConnection
Lambda valide ou modifie les en-têtes suivants.
| En-tête | Comportement |
|---|---|
Host |
Doit être le nom de domaine du point de terminaison de la fonction Web (par exemple,bcdfghjklmnpqrst.b7t.lambda-web.us-east-1.on.aws), en minuscules et sans port. Lambda achemine sur cette valeur et renvoie HTTP 404 si elle ne correspond pas à un point de terminaison, ou HTTP 400 si l'en-tête est manquant. Votre application reçoit le nom de domaine du point de terminaison. |
X-Forwarded-For |
Lambda ajoute l'adresse IP du client qui se connecte comme dernière valeur. Les valeurs antérieures proviennent du client et ne sont pas validées. Lorsqu'une CloudFront distribution Amazon se trouve devant le point de terminaison, la dernière valeur est une CloudFront adresse. |
Lambda effectue des transferts X-Forwarded-Host depuis le client sans validation. Ne l'utilisez pas pour créer des redirections, des URL absolues ou des autorisations basées sur l'hôte, sauf si une porte d'entrée que vous contrôlez le définit.
Lambda ajoute les en-têtes suivants.
| En-tête | Description |
|---|---|
lambda-web-request-id |
Identifiant que Lambda attribue à la demande. |
lambda-web-endpoint-name |
Le nom du point de terminaison qui a reçu la demande. |
Pour les points de terminaison qui utilisent l'autorisation IAM, Lambda valide la demande signée et supprime l'en-tête avant de la Authorization transmettre. Pour plus d’informations, consultez Utilisation du type IamAuthd'authentification.
En-têtes de réponse
Lambda supprime les en-têtes et les bandes-annonces HTTP limités à la connexion de la réponse de votre application. En fonction du résultat de la demande, Lambda peut ajouter les en-têtes suivants.
| En-tête | Description |
|---|---|
lambda-web-request-id |
L'identifiant de la demande. Utilisez-le pour corréler une réponse avec les journaux de l'application et du système. |
lambda-web-logstream |
Le flux de journal Amazon CloudWatch Logs qui contient les journaux de l'environnement d'exécution qui a traité la demande. |
lambda-web-error-type |
Type d'erreur, au format <Prefix>.<ErrorReason> (par exemple, Platform.EndpointRequestThrottle ouRuntime.RequestTimeout). Lambda omet cet en-tête pour les erreurs de service internes et les échecs d'autorisation. Pour la liste des valeurs, voirTypes d'erreur liés aux fonctions Web. |
Limites d'en-têtes
La ligne de demande, les en-têtes de demande et la ligne vide finale peuvent totaliser jusqu'à 128 KiB. Lambda rejette une demande qui dépasse cette limite avec le protocole HTTP 431 (champs d'en-tête de demande trop grands) avant que la demande n'atteigne votre application. Pour le dépannage, voirLimites des en-têtes de demande.