78 votes

Une redirection 302 vers une URL relative est-elle valide ou non ?

D'après la RFC, il semble que le champ Emplacement dans une réponse HTTP pour un 302 devrait être absolu. https://www.rfc-editor.org/rfc/rfc2616#section-14.30

Si cette affirmation est correcte, les navigateurs l'honorent-ils - ou autorisent-ils les chemins relatifs ?

159voto

Raedwald Points 8862

La RFC 2616 exige un URI absolu dans le format Location mais cette norme a été remplacée, depuis juin 2014. La spécification pertinente est désormais la RFC 7231. Le site section pertinente de la nouvelle norme dit :

Emplacement = référence URI

La valeur du champ consiste en une seule référence URI. Lorsqu'elle a la d'une référence relative ([RFC3986], section 4.2), la valeur finale est est calculée en la résolvant par rapport à l'URI de la demande effective ([RFC3986], section 5).

Donc un URI relatif est désormais autorisé . Le site URI de la demande effective est identique à l'URI de la demande dans la plupart des cas.

25voto

Julian Reschke Points 12698

Les URL relatives sont valides.

Il y a un bogue dans le RFC 2616. Voir http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-17.html#rfc.section.9.5 .

0 votes

Veuillez laisser une note dans les spécifications indiquant que l'ajout de l'identificateur de fragment URI n'est pas conforme aux règles de résolution absolue/relative des URI [RFC3986].

0 votes

@hakre, veuillez élaborer sur la liste de diffusion du groupe de travail.

0 votes

Comme vous êtes le rédacteur en chef, je voulais simplement m'assurer que vous étiez au courant, alors merci de me le faire savoir. QFT "@hakre veuillez élaborer sur la liste de diffusion du groupe de travail - Julian Reschke Dec 17 '12 at 7:12"

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X