2009-09-07 9 views
11

Quelqu'un sait d'où vient le "://" ou le "//" dans la plupart des syntaxes URI? Par exemple, pourquoi n'est-il pas écrit "http:www.example.com"?Origine de ": //" dans de nombreuses syntaxes URI

+2

l'analyseur de SO-abbréviation de l'URL est une vraie douleur dans le cul en essayant de répondre à cette question :) – skaffman

+0

s'il vous plaît réouvrir cette question, il est très utile – n611x007

+0

[Quelle est la sémantique de la double barre oblique suivant le schéma dans un URI?] (Http://stackoverflow.com/q/8870227/1591669) – unor

Répondre

11

La réponse de a1kmm est bonne pour l'application spécifique aux URL, mais si vous êtes curieux quant à l'origine sémantique de la double barre oblique, jetez un oeil à cet article:

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

Il est à noter que la syntaxe avec la barre oblique double peut en fait être étendu pour une utilisation avec un triple barre oblique si l'on voulait pouvoir commencer à n'importe quel niveau dans une structure hiérarchique beaucoup plus compliquée . Par exemple, supposer que les numéros de téléphone internationaux devaient être étendus pour couvrir un code planétaire à l'avenir. Ensuite, le code planétaire pourrait être joint au au début du code international. Le triple barre oblique pourrait introduire le code interplanétaire , et le double barre oblique introduirait le code international . En effet, cela est comment la double barre oblique est venu à être: quand schémas de nommage hiérarchiques tels que les systèmes de fichiers unix a été étendu à un système de fichiers de réseaux sur le domaine Apollo la barre oblique supplémentaire était introduit. De même, Microsoft NT utilise maintenant la double barre oblique inverse exactement de la même manière.

+3

Beaucoup de "syntaxe" internet est basée sur le système de domaine Apollo - par exemple le symbole @ dans une adresse e-mail, le fait qu'un nom d'hôte passe "small.medium.big", alors que le chemin unix passe/grand/medium/small Je pense que Berners-Lee en parle dans son autobiographie, Weaving the Web, il mentionne même qu'il pensait à devenir unix complet et qu'il avait // com/stackoverflow/www/questions/1388194/origin-of- in-many-uri-syntaxes – Pod

+0

@Pod A: pourquoi * pourquoi pas? (tldr: P) B: un lien sur ce qu'est le système de domaine Apollo? :) J'essayais [ceci] (https://en.wikipedia.org/wiki/Apollo/Domain) mais il ne contient pas le '@'. – n611x007

6

La référence sur les URL est RFC1738, qui est sorti en Décembre 1994. Voir http://www.ietf.org/rfc/rfc1738.txt

Pour citer le RFC:

URL sont écrits en général schéma <>: < système partie Spécifiques>

et dit plus tard

Alors que la syntaxe pour le reste de l'URL peut varier selon le schéma particulier sélectionné, les schémas d'URL qui impliquent l'utilisation directe d'un protocole IP à un hôte spécifié sur Internet utilisent une syntaxe commune pour le schéma données Spécifiques:
//<user>:<password>@<host>:<port>/<url-path> 
Certaines ou toutes les parties "< utilisateur>: mot de passe <> @", ": mot de passe <>", ": port <>" et «/url < -path> "peut être exclu. Les données spécifiques au schéma commencent par une double barre oblique "//" pour indiquer qu'il est conforme à la syntaxe du schéma Internet commun.
+2

Hmm donc cela pose la question, pourquoi cette "syntaxe de schéma Internet commune" nécessite une double barre oblique? (-: – hippietrail

Questions connexes