4 votes

Que représente le "//" dans "http://serverfault.com/questions/ask" ?

J'utilise des URL tout le temps en les tapant avec ou sans "//" après "http:", mais que signifie vraiment "//"?

9voto

Evan Anderson Points 140581

Slashdot avait un article à ce sujet il y a quelques jours. Tim Berners-Lee indique qu'il n'y avait pas de raison particulière pour la présence des deux barres obliques (voir aussi http://bits.blogs.nytimes.com/2009/10/12/the-webs-inventor-regrets-one-small-thing/).

Personnellement, j'aime l'idée de ce style d'URL :

http:/com/example/www/blah1/blah.html

Il n'y a pas de "nom d'hôte" explicite dans une telle URL. Si votre ferme de serveurs "www.example.com" est surchargée par les demandes concernant la ressource "/blah1", il vous suffit de créer un enregistrement DNS "blah1.www.example.com" et de le pointer vers une autre ferme de serveurs web hébergeant la hiérarchie de ressources "/com/example/blah1".

Il y a sans aucun doute des implications DNS avec une telle idée, et cela ne se produira sûrement pas maintenant (pas plus que soudainement avoir des horloges qui tournent dans le sens inverse ne deviendrait à la mode), mais je pense que cela aurait bien fonctionné.

Édition : Les RR SRV pour les sites web auraient été vraiment intéressants aussi. Diable - les RR SRV pour quoi que ce soit seraient bien.

3voto

Richard Points 121

Il existe une réponse à cela dans la FAQ de Tim Berners-Lee (lien trouvé dans la discussion slashdot mentionnée dans la réponse de @Evan Anderson). Essentiellement, il a copié la syntaxe du nom de fichier à partir d' Apollo Domain, où le fait de commencer un chemin avec un double slash suivi du nom d'un ordinateur était utilisé pour accéder de manière transparente aux fichiers d'autres ordinateurs (un seul slash est toujours le répertoire racine). Il l'a simplement précédé avec le protocole, dans ce cas http.

Ce cas spécial existe toujours dans les normes Unix, où deux slashes au début d'un nom de fichier peuvent être interprétés d'une manière définie par l'implémentation (trois ou plus de slashes sont équivalents à un seul). Et la même convention est largement utilisée dans Windows, mais avec des barres obliques inversées au lieu de barres obliques normales (on l'appelle un chemin UNC là-bas).

2voto

Andy Jackson Points 247

Xx:// est utilisé pour spécifier le protocole utilisé, c'est un double / pour qu'il ne soit pas confondu avec un simple sous-dossier.

1voto

Nicolas Webb Points 179

Tim Berners-Lee admet que cela était destiné à séparer le protocole de l'adresse, mais s'est avéré être inutile.

http://www.theinquirer.net/inquirer/news/1558680/berners-lee-regrets-double-slash

1voto

Sam Kington Points 901

Consultez RFC 1738, section 3.1 :

Alors que la syntaxe pour le reste de l'URL peut varier en fonction du schéma particulier sélectionné, les schémas d'URL qui impliquent l'utilisation directe d'un protocole basé sur IP vers un hôte spécifié sur Internet utilisent une syntaxe commune pour les données spécifiques au schéma :

//:@:/

Certaines ou toutes les parties ":@", ":", ":", et "/" peuvent être exclues. Les données spécifiques au schéma commencent par un double slash "//" pour indiquer qu'elles sont conformes à la syntaxe commune des schémas Internet.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X