SNT Seconde

Comprendre les urls


Nous avons vu que le Web est constitué de l'ensemble des documents hypertextes accessibles via un navigateur par exemple.

Mais comment parvenir à trouver une ressource parmi cette multitude ?

1 - Qu'est-ce qu'une URL ?

URL

URL veut dire Uniform Resource Locator, soit « localisateur uniforme de ressource ».

C'est un système normé (possédant des règles) permettant d'effectuer une demande sans créer d’ambiguïté sur la demande elle-même : chaque demande ne peut renvoyer qu'une page unique.

L'URL indique « l'endroit » où se trouve une ressource sur un ordinateur.
Un fichier peut se trouver dans un dossier qui peut lui-même se trouver dans un autre dossier...
On parle d'une structure en arborescence, car elle ressemble à un arbre à l'envers :

arbo
structure en arborescence

Comme vous pouvez le constater, la base de l'arbre s'appelle la racine de l'arborescence et se représente par un /

Autre représentation un peu plus "jolie" :

arbo
structure en arborescence

01° Ouvrir un navigateur (qui est un client HTTP) et copier l'adresse ci-dessous dans la barre d'adresse du navigateur.
Vous devriez atteindre une page Web, celle du CERN concernant le Web.

http://info.cern.ch/hypertext/WWW/TheProject.html

Attention : ne tapez pas l'adresse dans un moteur de recherche. Tapez bien cela directement dans la barre d'adresse. Sur certains navigateurs, celle-ci est maintenant cachée par défaut...

Décomposition d'une URL

On voit que l'adresse fournie est composée de plusieurs parties :

  • Le protocole : on explique dans quelle langue on parle.
    Ici http://
    • http:  : on commence par signaler le protocole qu'on désire utiliser pour communiquer avec le serveur HTTP. On doit faire suivre le nom du protocole par le caractère « deux points »  :  pour signaler qu'on a fini de transmettre le nom du protocole.
    • // signale que notre protocole nécessite qu'on fournisse une adresse (ici un serveur HTTP) et que nous allons le transmettre juste après.
  • L'adresse éventuelle du service à joindre: on explique à qui on veut parler.
    Ici info.cern.ch
    • info.cern.ch : cette partie identifie clairement le serveur du site sur lequel on doit se connecter.
  • La demande à faire pour atteindre la ressource une fois qu'on discute avec le bon service : on explique la ressource qu'on veut obtenir à service précédent.
    Ici /hypertext/WWW/TheProject.html
    • Une adresse commençant par  /  veut dire que l'adresse qui suit est une adresse absolue sur le site : on va donner un chemin partant du « début », la racine du site.
    • Cette adresse peut être omise : si on ne fournit rien derrière le nom du site, cela veut donc dire qu'on désire simplement la page d'accueil.

02° Déterminer, à partir de l'URL fournie ci-dessous :

https://doc.infoforall.fr/commun/images/accueil_blender_150.png

  • le protocole,
  • le site exact à joindre,
  • la demande à faire sur le site

...CORRECTION...

  • le protocole : https, attention au S. (Protocole sécurisé)
  • le site exact à joindre : doc.infoforall.fr
  • la demande à faire sur le site : /commun/images/accueil_blender_150.png
HTTPS ?

HTTP veut dire Hypertext Transfer Protocol, soit protocole de transfert hypertexte. Il s'agit du protocole de communication client-serveur développé pour le World Wide Web en 1990.

Simple et élégant, ce protocole a néanmoins un gros défaut : il ne crypte en aucun cas les données lors du transfert. Si quelqu'un écoute la communication, il peut donc connaitre la teneur de l'échange entre le serveur et le client.

HTTPS (avec un S pour sécurisé) est une variante du HTTP : dans cette variante le message est crypté. Seul le serveur et le client peuvent connaitre la teneur de l'échange.

Si quelqu'un écoute le serveur, il peut savoir avec qui il communique. Par contre, il ne pourra pas connaitre le contenu de l'échange. C'est déjà mieux.

Nous verrons par contre que le HTTPS peut être dangereux du point de vue de la liberté du Web : le protocole nécessite la présence d'organismes certificateurs qui peuvent donc être influencés et refuser certaines certifications.

03° Est-il prudent de se connecter sur un site HTTP pour réaliser un paiement en ligne et fournir des informations bancaires ?
Quelle doit-être la couleur du cadenas à gauche de l'adresse ?
Ou comment doit être le cadenas ?

...CORRECTION...

Le manque de sécurité ne provient pas du site en lui-même.
Un site en HTTP peut être tenu par des gens sérieux.
NEANMOINS, s'ils sont sérieux, ils devraient savoir qu'on peut assez facilement écouter les paquets qui transitent jusqu'à eux.
Transmettre des informations bancaires en HTTP n'est donc pas serieux à l'heure actuelle.

Le simple HTTPS ne garantit pas le sérieux en lui-même.

Dernier point : vérifier bien que le cadenas est vert ou fermé.
Sinon, cela montre un problème direct ou inderect vis à vis de la sécurisation.

04° HTTPS signifie-t-il que le site est sérieux et qu'on peut lui transmettre des informations bancaires sans problème ?

...CORRECTION...

La sécurité ne provient pas du signe HTTPS.
Le S signifie juste que la communication entre vous et le site est cryptée et que vous discutez bien avec le propriétaire du nom de domaine.

Un escrot peut toujours se faire passer pour un site sérieux dans un premier temps. Comme tout commerce en réalité !

Avant de lancer un paiement, tenter donc de vous renseigner sur ce site via un moteur de recherche.
Cherchez des avis de clients par exemple.

Sortons maintenant de ces histoires de protocoles et revenons à la dernière partie de l'URL : celle où on donne le chemin d'accés.

Les clients et serveurs HTTP sont créés avec une volonté de robustesse : ils sont capables de compléter des URL incomplètes.

05° Utiliser successivement les adresses proposées ci-dessous dans la barre d'adresse de votre navigateur :

http://info.cern.ch/hypertext/WWW/TheProject.html

http://info.cern.ch/hypertext/WWW

http://info.cern.ch/hypertext

http://info.cern.ch

Le site Web vous propose-t-il une réponse dans tous les cas ?

...CORRECTION...

Sur la plupart des sites, fournir un simple chemin d'accès permet d'obtenir une ressource correspondant à la page d'accueil de la catégorie.

Nous verrons plus tard (Programme de première) les sites dits dynamiques qui générent les pages actualisées, variant en fonction des données enregistrées sur le serveur.

2 - Nom de domaine

Nom de domaine

Lorsqu'on possède un nom de domaine (cern.ch, wikipedia.org …), on peut se créer autant de sous-domaine qu'on le désire. Par contre, ils seront toujours à gauche dans le nom permettant d'accéder au site, pas à droite.

Ainsi, le propriétaire de infoforall.fr peut créer les sous-domaines suivants :

  • www.infoforall.fr
  • nsipourtoujours.infoforall.fr
  • jecomprendsrienalinformatique.infoforall.fr

Ici, le nom de domaine complet est toujours infoforall.fr dont l'extension est .fr : on peut en déduire qu'il s'agit d'un site hébergé en France.

Les sous-domaines visibles ici sont www, nsipourtoujours et jecomprendsrienalinformatique.

Dans tous les cas, le propriétaire reste le même.

Un autre exemple ?

paypal.infoforall.fr appartient à infoforall.fr.

infoforall.paypal.fr appartient à paypal.fr.

Le sous-domaine le plus courant est www pour world wide web. Il était utilisé très couramment pour montrer que cette adresse menait à un site Web.

On retiendra donc ceci : la partie importante de l'URL est celle de droite qui est constituée d'un nom de domaine partiel et d'une extension. Personne ne peut créer de sites portant cette même association (nom+domaine) nom à part le propriétaire légitime de ce nom de domaine.

06° Observer l'adresse pour cette activité dans Firefox. Quelle est la couleur du sous-domaine ?

...CORRECTION...

Firefox affiche le sous-domaine en gris et le domaine principal en noir :

https://levavasseur.xyz/SNT/Web/Web_URL.html

Remarque : un nom de domaine est toujours composé d'un nom suivi d'une extension (.com, .fr, .org …) qui correspond au domaine de premier niveau.
Les sous-domaines, le domaine et l'extension sont tous séparés par un point (dot en anglais).

07° Remplir les cases pour les adresses proposées dans le tableau ci-dessous.

URL Sous-domaine Domaine Extension (fr com ...)
www.wikipedia.fr
fr.wikipedia.org
www.openoffice.org
www.qwant.com

08° Un e-commerce vous propose de payer un magnifique achat en ligne sur www.paypal.paiement.securise.com.
C'est sérieux ou pas cette histoire ? Vous payez ou pas ?

...CORRECTION...

Si vous avez bien suivi, vous n'allez certainement pas être redirigé vers le site de paypal mais vers le site de quelqu'un qui possède le nom de domaine securise.com.
De plus, il a placé un sous-domaine paiement puis encore un sous-domaine paypal puis un sous-domaine www.
Bref, ce n'est pas le propriétaire de paypal.

09° Un e-commerce vous propose de payer un magnifique achat en ligne sur paiement.paypal.xyz. C'est sérieux ou pas cette histoire ? Vous payez ou pas ?

...CORRECTION...

Il s'agit d'un site dont le propriétaire a acheté paypal.xyz. Comme il ne s'agit pas d'une extension très courante, méfiance...

C'est bien ça le problème d'ailleurs : si on veut être certain que personne ne peut se faire passer pour vous, il faut acheter toutes les associations nom+extension.
Pour une société privée cela représente un investissement rentable puisque cela réduit le nombre d'escroqueries qui pourraient nuire à l'image de la marque.

Ici, espérons que les propriétaires légitimes de paypal aient achété tous les noms de domaines possibles.

Nous venons de voir que l'URL permet de localiser avec certitude un serveur particulier et une ressource particulière sur ce site.

Mais comment le serveur et le client parviennent-ils à se comprendre ? Ce sont deux programmes informatiques tournant sur deux machines différentes...

Et c'est bien pour cela que l'URL commence par le protocole utilisé, la façon codifiée de se parler.

Une URL est donc constituée :

  1. Du protocole utilisé (http, https...)
  2. Du nom du serveur qu'on veut contacter
  3. De la ressource voulue sur le serveur

3 - Les problèmes du https

Vous vous connectez à un site en https mais un triangle jaune apparaît à côté de son adresse.

Que faire ?

Et bien cela veut dire :

  • soit que la connexion n'est que partiellement sécurisée (il y a des images provenant de sites non https par exemple)
  • soit que le propriétaire du site utilise une auto-certification. C'est compréhensible pour un site de particulier, moins pour un site de ecommerce : cela permet au particulier d'avoir un site avec une communication cryptée mais sans payer une société qui certifie qu'il est bien qui il prétend être.
Pourquoi tous les sites ne sont-ils pas passés en https ?

Pour garantir qu'il s'agit bien d'une communication cryptée avec le bon site, il faut fournir des certificats et rajouter une couche technique sur le site Web.

Tout cela a un coût puisqu'il faut payer la société qui gère votre certification.

Sur un site sans connexion à établir sur un compte utilisateur, cela coûte donc cher, pour rien : pourquoi protéger une connexion s'il n'y a rien à protéger ?

Autre raison, plus politique : les certificats sont générés par des sociétés privées, influençables. Si elles révoquent votre certificat, les internautes ne pourront plus se connecter à votre beau site en https ! Votre site disparait purement et simplement du Web, le temps de le remettre en http.

Maintenant que vous comprenez un peu mieux que le client HTTP et le serveur HTTP discutent simplement en s'envoyant un texte codifié respectant les règles d'organisation de HTTP, il est temps de voir ce qui constitue le coeur de la réponse du serveur : le message constitué d'un code HTML. C'est le but de la prochaine activité.

Activité publiée le 07 04 2021
Auteur : ows. h.
Modification : Andjekel