1. Introduction
1. Introduction
Les intermédiaires HTTP (voir section 3.7 de [HTTP]) -- incluant à la fois les proxies directs et les passerelles (également connues sous le nom de "proxies inverses") -- sont devenus une partie de plus en plus importante des déploiements HTTP. En particulier, les proxies inverses et les réseaux de diffusion de contenu (CDN) font partie de l'infrastructure critique de nombreux sites web.
Typiquement, les intermédiaires HTTP transfèrent les requêtes vers le serveur d'origine (entrant) puis transfèrent leurs réponses aux clients (sortant). Cependant, si une erreur se produit avant qu'une réponse ne soit obtenue d'un serveur entrant, la réponse est souvent générée par l'intermédiaire lui-même.
HTTP gère ces types d'erreurs avec quelques codes d'état -- par exemple, 502 (Bad Gateway, mauvaise passerelle) et 504 (Gateway Timeout, délai d'attente de la passerelle). Cependant, l'expérience a montré que plus d'informations sont nécessaires pour faciliter le débogage et communiquer ce qui s'est passé au client. De plus, les intermédiaires souhaitent parfois transmettre des informations supplémentaires sur leur traitement d'une réponse, même s'ils ne l'ont pas générée.
Pour permettre ces utilisations, la section 2 définit un nouveau champ de réponse HTTP permettant aux intermédiaires de transmettre les détails de leur traitement d'une réponse. La section 2.1 énumère les informations qui peuvent être ajoutées au champ par les intermédiaires, qui peuvent être étendues selon la section 2.2. La section 2.3 définit un ensemble de types d'erreurs à utiliser lorsqu'un proxy rencontre un problème lors de l'obtention d'une réponse pour la requête; ceux-ci peuvent également être étendus selon la section 2.4.
1.1. Conventions de notation
Les mots-clés "MUST (DOIT)", "MUST NOT (NE DOIT PAS)", "REQUIRED (REQUIS)", "SHALL (DEVRA)", "SHALL NOT (NE DEVRA PAS)", "SHOULD (DEVRAIT)", "SHOULD NOT (NE DEVRAIT PAS)", "RECOMMENDED (RECOMMANDÉ)", "NOT RECOMMENDED (NON RECOMMANDÉ)", "MAY (PEUT)" et "OPTIONAL (OPTIONNEL)" dans ce document doivent être interprétés comme décrit dans BCP 14 [RFC2119] [RFC8174] quand, et seulement quand, ils apparaissent en majuscules, comme indiqué ici.
Ce document utilise la terminologie suivante de la section 3 de [STRUCTURED-FIELDS] pour spécifier la syntaxe et l'analyse: List (liste), String (chaîne), Token (jeton), Integer (entier) et Byte Sequence (séquence d'octets).
Notez que dans cette spécification, "proxy" est utilisé pour indiquer à la fois les proxies directs et inverses, autrement connus sous le nom de passerelles. "Next hop (prochain saut)" indique la connexion dans la direction menant au serveur d'origine pour la requête.