Ist eine 302-Weiterleitung zur relativen URL gültig oder ungültig?


Antworten:


23

Relative URLs sind gültig.

In RFC 2616 ist ein Fehler aufgetreten. Siehe http://greenbytes.de/tech/webdav/draft-ietf-httpbis-p2-semantics-17.html#rfc.section.9.5 .


Bitte hinterlassen Sie in den Spezifikationen einen Hinweis, dass das Hinzufügen der URI-Fragment-ID nicht den absoluten / relativen URI-Auflösungsregeln von [RFC3986] entspricht.
— hakre

@hakre bitte näher auf die Mailingliste der Arbeitsgruppe
— Julian Reschke

Da Sie der Herausgeber sind, wollte ich nur sicherstellen, dass Sie darüber Bescheid wissen. Vielen Dank, dass Sie mich informiert haben. QFT "@hakre bitte erläutern Sie die Mailingliste der Arbeitsgruppe - Julian Reschke 17. Dezember 12 um 7:12"
— hakre

1
hakre: die spezifikation sagt zu lösen nach RFC 3986; Sie müssen wirklich richtig erklären, was Ihrer Meinung nach das Problem ist. Und tun Sie es auf jeden Fall dort, wo Feedback für die Spezifikationen erwartet wird. Ende der Durchsage.
— Julian Reschke

6
Worüber redest du? Handelt es sich bei der Frage nicht um einen RFC (auch bekannt als De-facto-Standard), während es sich bei dieser Antwort um einen Entwurf handelt (dh um eine laufende Arbeit)?
— BlaM

151

RFC 2616 erfordert einen absoluten URI in derLocation , aber dieser Standard wurde seit Juni 2014 ersetzt. Die relevante Spezifikation ist jetzt RFC 7231. Der relevante Abschnitt des neuen Standards lautet:

Ort = URI-Referenz

Der Feldwert besteht aus einer einzelnen URI-Referenz. Wenn es die Form einer relativen Referenz hat ([RFC3986], Abschnitt 4.2), wird der Endwert berechnet, indem es gegen den effektiven Anforderungs-URI ([RFC3986], Abschnitt 5) aufgelöst wird.

Eine relative URI ist jetzt also zulässig . Der effektive Anforderungs-URI ist in den meisten Fällen der gleiche wie der Anforderungs-URI.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.