99 votes

URL sans "http|https"

Je viens d'apprendre d'un collègue que le fait d'omettre la partie "http | https" d'une URL dans un lien fera en sorte que cette URL utilise le schéma utilisé par la page sur laquelle elle se trouve.

Par exemple, si ma page est accessible à http://www.example.com et que j'ai un lien (remarquez le '//' au début):

Google

Ce lien mènera à http://www.google.com.

Mais si j'accède à la page à https://www.example.com avec le même lien, il ira à https://www.google.com

Je voulais chercher en ligne plus d'informations à ce sujet, mais j'ai du mal à trouver une bonne phrase de recherche. Si je cherche "URLs sans HTTP", les pages renvoyées concernent des URL de la forme "www.example.com", ce qui n'est pas ce que je recherche.

Appelleriez-vous cela une URL sans schéma? Une URL sans protocole?

Ceci fonctionne-t-il dans tous les navigateurs? Je l'ai testé dans FF et IE 8 et cela a fonctionné dans les deux. Est-ce une norme, ou devrais-je tester plus de navigateurs?

83voto

Mark Maruska Points 250

URL relative au protocole

Vous pourriez recevoir des avertissements de sécurité inhabituels dans certains navigateurs.

Voir aussi, Wikipédia Protocole-relative URLs pour une brève définition.

À un moment donné, il était recommandé; mais à l'avenir, il devrait être évité.

Voir aussi la question Stack Overflow Pourquoi utiliser des URL relatives au protocole en premier lieu?.

21voto

LIUFA Points 3642

Il est appelé référence de chemin réseau (la partie qui manque est appelée protocole ou schéma) défini dans la section 4.2 de RFC3986

4.2 Référence relative

Une référence relative exploite la syntaxe hiérarchique (section 1.2.3) pour exprimer une référence d'URI relative à l'espace de noms d'un autre URI hiérarchique.

  relative-ref  = relative-part [ "?" query ] [ "#" fragment ]

  relative-part = "//" authority path-abempty
                / path-absolute
                / path-noscheme
                / path-empty

L'URI référencée par une référence relative, également connue sous le nom d'URI cible, est obtenue en appliquant l'algorithme de résolution de référence de la section 5.

Une référence relative qui commence par deux caractères barre oblique est appelée une référence de chemin réseau (emphase la mienne) ; de telles références sont rarement utilisées. Une référence relative qui commence par un seul caractère barre oblique est appelée une référence de chemin absolu. Une référence relative qui ne commence pas par un caractère barre oblique est appelée une référence de chemin relatif.

Un segment de chemin contenant un caractère deux-points (par exemple, "this:that") ne peut pas être utilisé comme premier segment d'une référence de chemin relatif, car il serait pris pour un nom de schéma. Un tel segment doit être précédé par un segment-point (par exemple, "./this:that") pour créer une référence de chemin relatif.

0voto

threedo Points 1

Pas vraiment clair sur ta question, mon pote. Lorsque vous omettez le protocole de l'URL, le navigateur (selon ses paramètres intranet) recherchera la zone et agira en conséquence.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X