Généralement, quand je vois //
, il s’agit généralement de suivre un préfixe de protocole comme http:
ou ftp:
. Je ne l'ai jamais vu placé ailleurs. Par exemple,
http://www.google.com/
est une URL typique.
Cependant, j'ai trouvé que les deux syntaxes suivantes donnaient des versions différentes du même site,
J'aurais pensé que //
n'importe où autre que la spécification de protocole serait invalide. À ma grande surprise, j'avais tort. Qu'y a-t-il à propos de la fin //
si on crée une version différente du même site?
MODIFIER:
Quelqu'un sur ce site doit avoir attrapé le vent de l'autre parce que les deux liens se retrouvent maintenant sur la même page.
///
ou////
la fin de l'URL a eu pour résultat le même site que celui/
qui//
a abouti à quelque chose de différent.\\HostName[@Port]\SharedFolder\Resource
Réponses:
Le début
//
fait partie de la syntaxe de l'URL. L'inventeur du World Wide Web s'est excusé pour cette erreur .Pour ce qui est de la fin
//
, ce n'est vraiment pas une double barre oblique. La première barre oblique sépare le nom d'hôte du chemin. La dernière barre est le chemin. Un serveur Web peut, s'il le souhaite, traiter un chemin/
différent d'un chemin vide, et apparemment celui de weather.com. Quant à savoir si c'est accidentel ou intentionnel, vous devrez leur demander à ce sujet.la source
http://example.com
peut être traité différemment dehttp://example.com/
? Je ne pensais pas que c'était le cas avec la première barre oblique..htaccess
règles. Mais vous ne devriez probablement pas.http://example.com
différemment d'http://example.com/
un serveur Web, car ils ont tous deux un chemin vide. Vous pouvez les traiter différemment dans un navigateur.GET / HTTP/1.1
:: tools.ietf.org/html/rfc2616.html#section-3.2.3Plus récemment, on pourrait faire valoir que la double barre oblique n'ont un rôle. Google recommande (pour éviter d'appeler accidentellement du contenu non sécurisé à partir d'une page sécurisée, par exemple) d'omettre le protocole des ressources incorporées (feuilles de style, js, etc.), comme ceci
Il est donc maintenant évident qu'une telle URL sans protocole est une URL pleinement qualifiée et non une URL relative (qui commencerait par une simple barre oblique).
la source
Pour répondre effectivement à la question, la spécification d' origine a donné le protocole
http:
(ou peut - êtreftp:
,gopher:
,mailto:
,news:
,telnet:
,wais:
,file:
ouprospero:
) alors//
pour indiquer que la syntaxe Resource Locator (URL) uniforme a été utilisé, l'hôte ( en option préfixé avecuser:password@
) puis adresse bon en commençant par un autre/
. Cela a été proposé dans le RFC 1738 .Au fur et à mesure qu'Internet évoluait,
http:
devenait le protocole dominant, les navigateurs supposent maintenant qu'un préfixe dehttp://
devrait être ajouté s'il n'est pas présent.la source
//
d'indiquer qu'il était utilisé ... Est-ce vrai?isbn:1-23-456789-12-3
. En pratique, lehttp:
définit que le reste sera une URL. Les RFC ne sont que des propositions et permettent souvent des extensions qui ne se matérialisent jamais. Tim Berners-Lee a déclaré à un moment donné qu'il//
s'agissait d'un «sous-réseau» (par exemplehttp:/govnet/whitehouse.gov
). Cette idée n'a jamais été utilisée, mais '//' reste tel que le code attend maintenant et le vérifie.http://www.google.com/
ethttp:%/74.125.225.97/
à la fois valable et//
indiquer un nom d' hôte tout autre chose comme%/
indiquer une adresse IP?J'aimerais ajouter à la réponse acceptée de David:
Malgré les excuses de l'inventeur du Web, je pense que la syntaxe à double barre oblique avait un objectif important: se distinguer visuellement. Les doubles barres obliques permettaient une distinction visuelle facile des URL dans un texte sans hyperlien. Lorsque vous avez vu des doubles barres obliques, vous avez tout de suite pensé que vous pouviez les saisir dans une fenêtre du navigateur, comme si vous pensiez qu'un texte contenant
@
pourrait être utilisé pour envoyer un email. C'était particulièrement crucial pendant la phase de transition vers le Web, où les protocoles de cette époque (ftp, telnet, gopher) avaient leur propre notion étrange de représenter des adresses de serveur ou des chemins de ressources, rarement les deux. La plupart des problèmes associés aux doubles barres obliques subsisteraient toujours, car les doubles barres obliques sont la partie la moins cryptée d'une URL, pensez aux numéros de port, au pourcentage de codage et à la sensibilité à la casse. Mais avoir une URL comme http: quelque chose.com pourrait facilement être confondu avec mon exemple ici: quelque chose.com. Regardez http: // D'autre part, comment ça brille comme un diamant. Les doubles barres obliques ont été un élément important du symbolisme Web et je crois que cela a également accéléré son taux d'adoption, même si ce n'était pas intentionnel.Ils ont peut-être également facilité la tâche du travail d'AmigaOS en matière de distinction entre les noms de fichier et les URL, car AmigaOS utilisait la syntaxe du chemin d'accès au fichier
volume:path/to/destination
. :)la source