46 Stimmen

Kann . (Punkt) Teil des Pfadteils einer URL sein?

Ist die folgende URL gültig?

http://www.example.com/module.php/lib/lib.php

Nach Angaben von https://www.rfc-editor.org/rfc/rfc1738 Abschnitt kann das hpath-Element einer URL kein '.' (Punkt) enthalten. Im obigen Fall steht ein '.' nach "module", was nach RFC1738 nicht zulässig ist.

Lese ich den RFC falsch oder wird dieser RFC von einem anderen RFC abgelöst? Einige andere RFC's erlauben '.' in URLs ( https://www.rfc-editor.org/rfc/rfc1808 ).

61voto

Adam Batkin Punkte 49295

Ich kann nicht erkennen, wo RFC1738 Punkte (.) in URLs verbietet. Hier sind einige Auszüge aus diesem Dokument:

hpath          = hsegment *[ "/" hsegment ]
hsegment       = *[ uchar | ";" | ":" | "@" | "&" | "=" ]
uchar          = unreserved | escape
unreserved     = alpha | digit | safe | extra
safe           = "$" | "-" | "_" | "." | "+"

Die Antwort auf Ihre Frage lautet also: Ja, http://www.example.com/module.php/lib/lib.php ist eine gültige URL.

18voto

speedplane Punkte 14917

Wie andere bereits festgestellt haben, sind Punkte in URLs erlaubt, aber seien Sie vorsichtig. Wenn ein einfacher oder doppelter Punkt in einem Teil des Pfades einer URL verwendet wird, behandelt der Browser dies als eine Änderung des Pfades, und Sie erhalten möglicherweise nicht das gewünschte Verhalten.

Zum Beispiel:

  • www.example.com/foo/./ leitet weiter zu www.example.com/foo/
  • www.example.com/foo/../ leitet weiter zu www.example.com/

Die folgenden Punkte werden ノット weiterleiten:

  • www.example.com/foo/bar.biz/
  • www.example.com/foo/..biz/
  • www.example.com/foo/biz../

11voto

Greg Burdett Punkte 181

Perioden sind erlaubt. Siehe Abschnitt "2.3 Nicht reservierte Zeichen" in diesem Dokument: https://www.rfc-editor.org/rfc/rfc3986

"Zeichen, die in einer URI erlaubt sind, aber keinen reservierten Zweck haben, werden als nicht reserviert bezeichnet. Dazu gehören Groß- und Kleinbuchstaben, Dezimalziffern, Bindestrich, Punkt, Unterstrich und Tilde".

2voto

vickirk Punkte 3847

An einem Punkt in einer URL ist nichts auszusetzen. Wenn Sie sich den Umbruch in der Grammatik in dem von Ihnen angegebenen Link ansehen, wird ein Punkt durch das ' safe ' Gruppe, die über uchar a

Ignorieren Sie meine Antwort, Adams ist besser

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X