Documente Academic
Documente Profesional
Documente Cultură
Architecture client-serveur
Yannick Pri UFR Informatique Universit Claude Bernard Lyon 1
Objectifs du cours
Rappels sur les ordinateurs rseau et Internet. Communication entre programmes et entre machines. Notion de protocole, couches ISO, protocoles de lInternet. Architecture client / serveur. Considrations de scurit. Exemples concrets de protocoles : HTTP et Z39.50
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Communiquer
courrier lectronique chat publication en ligne...
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
utilisateurs
machine1.univ-lyon1.fr
machine2.univ-lyon1.fr
machines
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
Protocoles de communication
But
comprhension entre machines / logiciels communications indpendantes du systme dxploitation ou de la plate-forme limitation des erreurs/risques durant la transmission
Niveau cartes
Toi carte rseau, regarde passer des paquets de donnes sur le cable, attrape ceux qui sont pour toi, et passe-en le contenu au systme dxploitation
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
Modle en couches
Personne crire Lettre de motivation cacheter Enveloppe poster Centre de tri acheminer Route (camion)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
Candidature spontane
Application
Envoi/rception courrier
Enveloppe dlivrer
Liaison de donnes
Physique
10
Protocoles de lInternet
Niveau OSI rseau
IP (Internet Protocol)
adressage (routage) des informations identification des machine
Remarque : IPV6
16 octets commence se mettre en place
etc.
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
11
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
12
Nom de machine
dcompos hirarchiquement
domaine (critre gographique, institutionnel, organisationnel) sous-domaine (ventuellement) nom local de la machine
exemples
ligimpc13.univ-lyon1.fr www.berkeley.edu ftp.berkeley.edu www.education.gouv.fr
Attribution
ICANN : Internet Corporation for Assigned Names and Numbers
.gov, .edu, etc.
DNS
www.ens-lyon.fr ? 140.77.167.3
DNS
13
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
14
Client / serveur
Service
comportement dun programme qui peut rendre service dautres programmes
exemple : service de traduction noms/adresses IP = service DNS
Notion de socket
Port
Entre rseau de la machine sur laquelle
un serveur coute en attendant des connexions / requtes un client va se connecter
Socket
Tuyau entre deux programmes Quintuplet : (machine1, port1, protocole transmission, port2, machine2)
Exemple
Client sur machine 1 appelle serveur sur machine 2 / port 53. La connexion stablit, le canal de communication est ouvert Il devient possible de communiquer suivant un protocole application (par exemple DNS)
Client
programme demandant un service un autre programme ET machine sur laquelle tourne ce programme client
DNS
Serveur
programme fournissant des services dautres programme ET machine sur laquelle tourne ce programme serveur
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
2449
Machine1
TCP
53
machine2
15
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
16
Transfert de fichiers
protocole : FTP clients : outils de gestion de transfets FTP (Ws_FTP, FileZilla, etc.) serveurs : serveurs FTP (port = 21-22)
Peer to peer
protocoles : envoi de fichier, change dinformations, ... client : client P2P serveurs : client P2P, serveurs de mtadonnes
Web
protocole : HTTP clients : navigateurs web (Mozilla, IE, Firefox, Opera...) serveurs : serveur web (IIS, Apache, ...) (port = 80)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
17
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
18
Ncessit
machine robuste et rapide, qui fonctionne 24h/24
grande mmoire, disques suffisants scurit des disques etc.
Inconvnients
Cot lev des machines serveurs, car fiabilit vitale
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
19
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
20
Notion de session
Session
Connexion maintenue entre un logiciel client et un serveur Par exemple
identification sur un intranet, navigation sans donner nouveau mon login/mdp le lien entre le client et le serveur est maintenu mme quand il ne se passe rien
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
21
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
22
Requte client
Contenu de la requte (type + URI + version protocole) En-ttes Ligne vide (indique fin de requte)
Principe
Requte du client au serveur
demander une ressource web (page, image, service)
Rponse serveur
Code rponse (version HTTP + code + chaine) En-ttes Ligne vide (indique fin en-tte) Contenu de la rponse (souvent le document quon veut)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
23
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
24
En-ttes de requtes
From : adresse email
Non envoye par la majorit des clients pour des raisons de confidentialit
Rponses
Codes 2xx : succs 200 : ok 3xx : redirection 304 : document inchang 4xx : erreur client 401 : non autoris 404 : inexistant 5xx : erreur serveur 500 : erreur dans lexcution dun service 505 : version HTTP non supporte
If-Modified-Since : date
Ne transmet la page que si elle a t modifie depuis la date spcifie Utile pour les caches
etc.
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
25
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
26
En-ttes de rponses
Server : type du serveur Date : date du traitement de la requte Last-Modified : date
Utile pour le cache
Exemple
eguerin >telnet bat710 80 Trying 134.214.88.10... Connected to bat710.univ-lyon1.fr. Escape character is ^]. HEAD / HTTP/1.1 Host: www710.univ-lyon1.fr Connection: close HTTP/1.1 200 OK Date: Mon, 09 Sep 2002 14:50:22 GMT Server: Apache/1.3.9 (Unix) Debian/GNU Last-Modified: Thu, 11 Jul 2002 09:36:01 GMT ETag: "27ec6-1811-3d2d5181" Accept-Ranges: bytes Content-Length: 6161 Connection: close Content-Type: text/html; charset=iso-8859-1 Connection closed by foreign host. eguerin >
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
27
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires
28
Remerciements
Certaines diapositives proviennent de cours du Permis de Conduire Informatique (Universit Lyon 1 http://pci.univlyon1.fr). Dautres sont inspires du cours Web avanc , IUT A, UCBL (Eric Gurin)
Dialogue client/serveur suivant Z39.50 Le client Z39.50 envoie les requtes et affiche les rponses
(ZIG : Z39.50 tutorial)
Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005 Master SIB M1 SIB 3 : traitement, exploitation de l'information et systmes d'information Bloc 4 : architecture et fonctionnement des systmes dinformation documentaires CM3 : Architecture client/serveur Yannick Pri 2004/2005
29
30