web-dev-qa-db-fra.com

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

Sur la base de la RFC, il semble que le champ Emplacement dans une réponse HTTP pour un 302 devrait être absolu. http://tools.ietf.org/html/rfc2616#section-14.

Si cette affirmation est correcte, le navigateur respecte-t-il cela - ou autorise-t-il des chemins relatifs?

65
GeorgeU

Les URL relatives sont valides.

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

18
Julian Reschke

RFC 2616 nécessite un URI absolu dans le Location , mais cette norme a été remplacée, depuis juin 2014. La spécification pertinente est maintenant RFC 7231. Le 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'il a la forme d'une référence relative ([RFC3986], section 4.2), la valeur finale est calculée en la résolvant par rapport à l'URI de demande effective ([RFC3986], section 5).

Un URI relatif est donc désormais autorisé . URI de demande effective est le même que l'URI de demande dans la plupart des cas.

138
Raedwald