web-dev-qa-db-fra.com

Qu'est-ce qu'une spécification complète de l'en-tête HTTP X-Forwarded-Proto?

Qu'est-ce qu'une spécification complète de X-Forwarded-Proto Valeurs d'en-tête HTTP?

39
yegor256

Il n'y a pas de "spécification complète" - c'est une norme de facto. Le X- devant un nom d'en-tête habituellement* l'a désigné comme expérimental/non standard/spécifique au fournisseur. Une fois que c'est une partie standard de HTTP, il perdra le préfixe.

Il y a du travail de l'IETF sur sa normalisation, mais ce n'est qu'au stade de projet, pour autant que je sache. Consultez http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded-1 pour la dernière version au moment de la rédaction de cet article. Mais sachez que cela peut changer à tout moment pendant qu'il est étoffé, et ne vous y fiez pas encore pour la production.

Mise à jour:

RFC 7239 définit maintenant le Forwarded: en-tête, destiné à remplacer X-Forwarded-*. Si vous vous souciez des normes, je recommanderais de les utiliser à la place.


* Auparavant, c'était une chose officielle, mais ce n'est plus le cas. RFC 6648 déconseille le X- convention de préfixe. Malheureusement, la convention est si largement connue (et la dépréciation si discrète) que la plupart des personnes en dehors de l'IETF ignoreront probablement la recommandation.

33
cHao

Il y a enfin RFC 7239 - Forwarded HTTP Extension à partir de juin 2014. L'en-tête est défini dans la section 5.4.

Quelques exemples:

Forwarded: proto=https
Forwarded: for=1.2.3.4;proto=http

J'espère juste que cela ne prendra pas trop de temps pour être largement adopté. Un exemple de la diversité des en-têtes en raison de l'absence de norme (de ici ):

  • X-Forwarded-Proto: https (norme de facto)
  • X-Forwarded-Protocol: https
  • X-Forwarded-Ssl: on
  • X-Url-Scheme: https
  • Front-End-Https: on
14
mmoya

Je ne connais pas de "spécification complète".

Le groupe de travail IETF APPSArea a récemment décidé de définir un nouveau champ d'en-tête "Forwarded" qui est censé remplacer les champs d'en-tête "X-Forwarded- *" qui vous avez mentionné.

Voir http://tools.ietf.org/html/draft-ietf-appsawg-http-forwarded pour plus de détails.

2
Julian Reschke