Que désigne l`URL donnée au navigateur ?

Transcription

Que désigne l`URL donnée au navigateur ?
Que désigne l'URL donnée au navigateur ?
http://www-poleia.lip6.fr/~jfp/istm/TP6/index.html
Le protocole :
pourquoi ?
Parce que la
manière
d'indiquer une
adresse
dépend du
service postal
utilisé...
Client-Serveur
Le serveur =
une adresse IP désignant
une interface réseau
(pratiquement, une
machine)
+ un port sur cette
machine (par défaut :
80 pour http)
Constantine 2005
J-F.Perrot
Un chemin d'accès sur
le serveur,
repérant la ressource
demandée
(en pratique, un fichier)
1
Éléments de l'URL : Le protocole
• Dans notre cas, c'est http = HyperText Transfer Protocol
– Autres possibilités : ftp = File Transfer Protocol
– ou nntp = Network News Transfer Protocol
– ou smtp = Simple Mail Transfer Protocol (envoi de messages)
– ou pop = Post Office Protocol (réception de messages)
– ou bien d'autres...
• Un protocole est un algorithme réparti, normalisé
– qui prend en compte les problèmes de communication.
• Les différents protocoles ont différentes propriétés
– par exemple, maintenir la connexion ouverte (protocoles dits "avec
état" : ftp)
– ou au contraire fermer la connexion à chaque échange (protocoles
"sans état" : http)
Client-Serveur
Constantine 2005
J-F.Perrot
2
Éléments de l'URL : Le domaine et son adresse IP
• Adresse IP = 4 octets - seule utilisée pour le routage des messages
– une même machine peut avoir plusieurs adresses IP (cartes réseau)
– l'adresse 127.0.0.1 désigne toujours la machine elle-même
• Chaque nom de domaine est associé à une adresse IP
– p. ex. www-poleia.lip6.fr = 132.227.205.252
– Cette association est gérée par un serveur de noms (DNS = Domain
Name Server) interrogeable par la commande host :
jfp% telnet www-poleia.lip6.fr
Trying 132.227.205.252...
telnet: connect to address 132.227.205.252: Connection refused
jfp% host www-poleia.lip6.fr
www-poleia.lip6.fr is an alias for webia.lip6.fr.
webia.lip6.fr has address 132.227.205.252
jfp% host 132.227.205.252
252.205.227.132.in-addr.arpa domain name pointer webia.lip6.fr.
Client-Serveur
Constantine 2005
J-F.Perrot
3
Éléments de l'URL : Le port
• Un port est un nombre entier sur 16 bits, de 0 à 65535
– Il sert à identifier une connexion : multiplexage de la ligne réseau.
– Une connexion est désignée par un n° IP et un port.
• Certains ports sont préalloués à certains types de connexions
– voir le fichier /etc/services
– Les "ports bien connus" (well-known ports) vont de 0 à 1023
Exemples : ftp est sur le port 21,
ssh sur le port 22, telnet sur le port 23, smtp sur le port 25,
http sur le port 80
– Les registered ports vont de 1024 à 49151
– Au-delà de 49152, les ports sont dynamiques ou privés...
• On peut préciser le port visé dans l'URL :
http://localhost:8080/Essais/dateF.jsp
Client-Serveur
Constantine 2005
J-F.Perrot
4
Éléments de l'URL : Le chemin sur le serveur
• Ce chemin est un chemin Unix normal.
• Son point de départ est un répertoire déterminé par le serveur.
– Il est en général inaccessible (sauf aux privilégiés).
– Les utilisateurs disposent de leur propre répertoire-racine.
• Par exemple, avec un serveur Apache standard sous Linux, le répertoireracine d'un utilisateur
– est désigné par "~login" dans l'URL (ex. "~jfp")
– est appelé $HOME/public_html dans son arborescence de
fichiers
• Les possibilités d'utilisation sont régies par la configuration du serveur
(p. ex. accès automatique aux listes de répertoires en l'absence de fichier
"index.html", exécution de scripts CGI, activation de PHP ou de
JSP, etc.)
Client-Serveur
Constantine 2005
J-F.Perrot
5
La connexion et son canal (socket)
• Les octets partent (côté client) et arrivent (côté serveur) via TCP/IP.
• Côté serveur, un processus surveille le port 80 (le "démon" httpd).
• Quand un message arrive sur ce port, le serveur l'accepte
– il crée un canal bidirectionnel (socket) pour acheminer la
communication
– il lance un processus pour traiter cette communication (fork)
– il revient en attente sur le port 80.
• Traitement du message :
– lecture et analyse
– calcul et production de la réponse (sous forme d'un fichier)
– envoi de la réponse par le canal
– fermeture du canal.
Client-Serveur
Constantine 2005
J-F.Perrot
6
Contenu du fichier envoyé au client
= un texte en HTML
• HTML aujourd'hui est un dialecte particulier de XML (XHTML)
• C'est un langage à balises (Markup Language)
Voir la section Langages à balises
Client-Serveur
Constantine 2005
J-F.Perrot
7