HTTP beginnt mit zwei Schrägstrichen. Eg http://example.com
.
Gleiches gilt für FTP. Eg ftp://example.com
.
Datei "URLs" beginnen jedoch mit drei Schrägstrichen. ZB Lesen einer PDF-Datei mit Chrome, wäre die URL file:///D:/Desktop/Book.pdf
.
Warum verwenden Datei-URLs drei Schrägstriche?
browser
filesystems
url
Pacerier
quelle
quelle
file://localhost/D:/Desktop/
automatisch.Antworten:
Wie bereits erwähnt, hat das Dateischema die Form "file: // <Host> / <Pfad>". Obwohl die meisten Browser mit nur zwei Schrägstrichen kein Problem haben, und das zu Recht.
Das Schlüsselwort "localhost" und der Schrägstrich "triple slash" sind nur vorhanden, um die Konformität mit der gültigen URI / URL-Syntax zu gewährleisten. Im Kontext des Dateischemas ist der Host bedeutungslos, da er ohne explizites Übertragungsprotokoll oder Serverdokumentpfad direkt aus einem Dateisystem geladen wird. Da es sich nicht um HTTP handelt, kann es nicht von einem Standard-Webserver geladen werden, auf dem theoretisch mehrere lokale virtuelle Hosts eingerichtet sein könnten. Und es kann nicht von einem Standard-Netzwerk-Volume geladen werden, das technisch gesehen ein anderer "Host" ist, da der Browser nur den Volume-Namen wie "file: /// volume / foo" verwendet. Schließlich funktioniert es nicht, Dinge wie "file: //example.com/some/file" auszuprobieren. Es gibt wahrscheinlich einen Grund, einen externen Host zu unterstützen, aber mir fällt keiner ein.
Die IETF entwirft derzeit Änderungen, um die Dreifachschrägstrich-Anforderung zu beseitigen, obwohl der Entwurf auch einige ungerade Möglichkeiten wie
file:c|/path
und gerade hinzufügtfile://///host.example.com/path
.quelle
Die vollständige Syntax lautet
file://host/path
.Wenn der Host ist
localhost
, kann er weggelassen werden, was zur Folge hatfile:///path
.Siehe RFC 1738 - Uniform Resource Locators (URL) :
quelle
localhost
von anderen Protokollen auch weglassen oder funktioniert es nur fürfile://
?Dennis hat den dritten Schrägstrich erklärt, musste die Trennung
host
von derpath
, aber die anderen beiden sind viel interessanter ...Es stellte sich heraus, dass sie eine nutzlose und etwas willkürliche Ergänzung der URL-Syntax waren. Tim Berners-Lee, Erfinder des World Wide Web und Autor vieler seiner Standards (einschließlich des RFC , mit dem Dennis verbunden war), beklagte seine Verwendung des "doppelten Schrägstrichs" bereits 2009 in einem Interview.
http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/
Abgesehen von einer kleinen (und uncharakteristischen) Vorausschau vor 18 Jahren hätte Ihre Datei-URL also eher einfach sein
file:/D:/Desktop/Book.pdf
können alsfile:///D:/Desktop/Book.pdf
.Um Ihre Frage zu beantworten, gibt es keinen guten Grund, warum URLs drei Schrägstriche aufweisen.
Update: Wie @ComFreek in den Kommentaren betont, gilt ab 2017 das
file:/D:/...
obige Beispiel! Dies ist dem RFC 8089 zu verdanken , der speziell diesen Fix aus dem vorherigen Standard aufruft ...Was für eine Zeit am Leben zu sein.
quelle
http:example.com
von gespeichert werden könnten.http://example.com
Es mag nicht viel erscheinen, aber sie summieren sich. Google erhält täglich Millionen von Suchanfragen. Wie viele Links befinden sich auf einer Seite? Mindestens 20. Das bedeutet, dass für eine Million Suchvorgänge, wenn die Schrägstriche nicht benötigt würden, 20 MB Bandbreite eingespart werden könnten.http://example.com
also wie//example.com
in einem über http übertragenen Dokument verlinkt sein . Es wird eine protokollrelative URL genannt , die von allen Browsern unterstützt wird.file:/D:/Desktop/Book.pdf
handelt es sich um eine gültige Datei-URI gemäß RFC 8089 (ab 2017), die RFC 1738 (1994) in Datei-URI-Aspekten ersetzt.