2009-09-07 11 views
11

Ktoś wie, skąd pochodzi "://" lub "//" w większości składni URI? Na przykład, dlaczego nie jest napisane jak "http:www.example.com"?Pochodzenie ": //" w wielu składniach URI

+2

SO jest prawdziwym wrzodem na tyłku, próbując odpowiedzieć na ten jeden :) – skaffman

+0

prosimy o ponowne otwarcie na to pytanie, to jest bardzo przydatne – n611x007

+0

[Co to jest semantyka podwójnym ukośnikiem następujące systemem w URI?] (Http://stackoverflow.com/q/8870227/1591669) – unor

Odpowiedz

11

a1kmm jest dobra dla konkretnego zastosowania do adresów URL, ale jeśli jesteś ciekaw, semantycznego pochodzenia podwójny ukośnik, spojrzeć na ten artykuł:

http://www.w3.org/DesignIssues/Axioms.html

It Warto zauważyć, że składnia z podwójnym ukośnikiem może być w rzeczywistości przedłużona do użycia z potrójnym ukośnikiem , jeśli ktoś chciałby zacząć od dowolnego poziomu w znacznie bardziej skomplikowanej hierarchicznej strukturze. Na przykład, załóżmy, że numery międzynarodowe miały zostać rozszerzone o kod planetarny w przyszłości. Następnie kod planetarny może być dołączony do z przodu kodu międzynarodowego. Potrójna kreska może wprowadzić kod międzyplanetarny , a podwójne kreskowanie wprowadzi międzynarodowy kod . Rzeczywiście, jest to jak podwójny ukośnik stał się: kiedy hierarchiczne schematy nazewnictwa takich jak te systemy plików UNIX został rozszerzony system plików sieci na domenę Apollo dodatkowy ukośnik był wprowadzony. Podobnie, sieć Microsoft NT używa teraz podwójnego ukośnika odwrotnego w dokładnie taki sam sposób.URL skrócenie parser

+3

Wiele "składni" w Internecie opiera się na systemie domen Apollo - np. Symbol @ w adresie e-mail, fakt, że nazwa hosta brzmi "small.medium.big", podczas gdy ścieżka unix idzie/duża Myślę, że Berners-Lee opowiada o tym w swojej autobiografii Weaving the Web, wspomina nawet, że myślał o pełnym unixie i mając // com/stackoverflow/www/questions/1388194/origin-of- in-many-uri-syntaxes – Pod

+0

@Pod A: więc * dlaczego * on nie zrobił? (tldr: P) B: jakikolwiek link na czym polega "system domen Apollo"? :) Próbowałem [this] (https://en.wikipedia.org/wiki/Apollo/Domain), ale nie zawiera '@'. – n611x007

6

Ostateczne odniesienia na URL jest RFC1738, który ukazał się w grudniu 1994. Zobacz http://www.ietf.org/rfc/rfc1738.txt

Cytując z RFC:

adresy pisane są na ogół jako < programu>: < schemacie -specyficznych-part>

a później mówi

Chociaż składnia reszty adresu URL może się różnić w zależności od wybranego określonego schematu , schematy adresów URL, które dotyczą bezpośredniego użycia protokołu opartego na protokole IP do określonego hosta w Internecie, używają wspólnej składni dla schematu dane -specyficznych:
//<user>:<password>@<host>:<port>/<url-path> 
Niektóre lub wszystkie części "< użytkownika> hasło: <> @", ": < hasło>" ": < port>" i „/ url < -path> "może być wykluczone. Dane specyficzne dla schematu rozpoczynają się podwójnym ukośnikiem "//", co oznacza, że ​​jest on zgodny z typową składnią schematu internetowego. Odpowiedź
+2

Hmm, więc to nasuwa pytanie, dlaczego ta "składnia wspólnego schematu internetowego" wymaga podwójnego ukośnika? (-: – hippietrail