Client/Serveur protocoles internet - Mail et Web

Transcription

Client/Serveur protocoles internet - Mail et Web
Client/Serveur protocoles internet
Mail et Web
Fabien Rico ([email protected])
Olivier Glück
Univ. Claude Bernard Lyon 1
séance 5
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
1 / 41
Messagerie électronique
Composants
Courrier électronique : les composants
3 composants principaux :
Serveur
Mail
Agent de transfert de mail Mail
Transfert Agent (MTA)
Agent de livraison Mail Delivery
Agent (MDA)
Agent utilisateur Mail User Agent
(MDA)
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
Client
Mail
séance 5
2 / 41
Messagerie électronique
Composants
Mail Transfert Agent (MTA)
le bureau de poste
Client
Mail
◮
modèle C/S : Client (émetteur)
- Serveur (MTA récepteur)
le client se connecte sur le port
25/TCP du serveur pour
transférer son message
Exemple sendmail, exim, postfix,
exchange, Lotus Domino
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
Client
Mail
Serveur
Mail
IMAP
POP
Serveur
Mail
Client
Mail
SMTP
File des messages sortant
Boite mail des utilisateurs
PO
P
◮
TP
HT
Serveur
Mail
SMTP
Gère une liste de messages
sortants
utilise le protocol Simple Mail
Transfer Protocol (SMTP)
Client
Mail
SMTP
transmet les messages aux autres
MTA,
PO
P
reçoit les messages depuis les
autres MTA ou les clients mail,
Client
Mail
séance 5
3 / 41
Messagerie électronique
Composants
Mail Delivery Agent (MDA)
Client
Mail
PO
P
le facteur
reçoit les messages depuis le
autres MTA Final,
Serveur
Mail
généralement ce rôle est assuré
par le MTA
IMAP
POP
Client
Mail
SMTP
File des messages sortant
Boite mail des utilisateurs
PO
P
◮
SMTP
◮
tri,
filtre (antispam,. . .)
antivirus
...
Client
Mail
Serveur
Mail
SMTP
◮
TP
HT
Serveur
Mail
stocke les messages dans les
boites aux lettres utilisateurs,
autres tâches :
◮
Client
Mail
Exemple procmail, maildrop,. . .
Client
Mail
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
4 / 41
Messagerie électronique
Composants
Mail Delivery Agent (MDA)
Client
Mail
PO
P
le facteur
reçoit les messages depuis le
autres MTA Final,
Serveur
Mail
généralement ce rôle est assuré
par le MTA
IMAP
POP
Client
Mail
SMTP
File des messages sortant
Boite mail des utilisateurs
PO
P
◮
SMTP
◮
tris,
filtre (antispam,. . .)
antivirus
...
Client
Mail
Serveur
Mail
SMTP
◮
TP
HT
Serveur
Mail
stocke les message dans les boites
aux lettres utilisateurs,
autres tâches :
◮
Client
Mail
Exemple procmail, maildrop,. . .
Client
Mail
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
5 / 41
Messagerie électronique
Composants
Mail User Agent (MUA)
Client
Mail
PO
P
Le stylo et le papier
◮
SMTP pour envoyer les
messages au serveur
POP, IMAP, HTTP, . . .pour lire
les messages
ex : Kmail, Thunderbird, Outlook,
elm, pine, . . .
IMAP
POP
Serveur
Mail
Client
Mail
SMTP
File des messages sortants
Boite mail des utilisateurs
PO
P
◮
Client
Mail
Serveur
Mail
SMTP
dialogue un serveur pour
émettre/recevoir des messages
Plusieurs protocoles :
TP
HT
Serveur
Mail
SMTP
composition, édition, lecture du
courrier électronique
Client
Mail
Client
Mail
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
6 / 41
Messagerie électronique
Composants
Parcours d’un mail
1
send
6
Serveur
sortant
2
Éméteur
SMTP
3
Serveur
entrant
4
6
POP ou IMAP
SMTP
get
Récepteur
5
1
L’utilisateur écrit un mail.
2
Il est envoyé au serveur via SMTP.
3
Ce dernier le stocke dans sa liste de messages sortants.
4
Le serveur l’envoie au serveur distant.
5
Qui le délivre dans la boite de l’utilisateur.
6
Lorsque le destinataire lit ses nouveaux mails, son agent contacte le
serveur pour obtenir le mail.
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
7 / 41
Messagerie électronique
Composants
Questions
1
send
6
Serveur
sortant
2
Éméteur
SMTP
3
Serveur
entrant
4
SMTP
get
6
POP ou IMAP
Récepteur
5
Dans les débuts du courrier électronique
◮
◮
il n’y avait pas de protocole d’accès
SMTP était juste prévu pour échanger du courrier entre le serveur de
l’émetteur (client) et le serveur du récepteur (serveur) ⇒ étapes 3-4-5
uniquement
Pourquoi y a-t’il eu apparition des protocoles d’accès ?
Pourquoi une file des messages sortants ?
Pourquoi ne pas mettre le serveur sortant directement sur le poste
utilisateur ?
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
8 / 41
Messagerie électronique
Agent utilisateur
Configuration d’un agent utilisateur
Configuration du serveur sortant :
◮
Identité
⋆
⋆
◮
nom
adresse courriel
Serveur
⋆
⋆
⋆
méthode c-à-d généralement sendmail (MTA local) ou SMTP,
serveur sortant : adresse et port (25 ou 465 pour SSL),
authentification : login, mdp et méthode.
Configuration du serveur entrant
◮
◮
Selon le protocole
Protocole POP (les mails sont lus et rapatriés en local)
⋆
⋆
⋆
◮
serveur : adresse et port (110 ou 995 pour SSL),
identité sur le serveur : login, mdp et méthode,
gestion des mails (conserver sur le serveur, devenir des doubles,. . .)
POP est simple est proposé par tous les fournisseurs de mails. Mais il
rend difficile la consultation depuis plusieurs sources
(telephone+bureau+domicile)
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
9 / 41
Messagerie électronique
Agent utilisateur
Configuration d’un agent utilisateur
Configuration du serveur entrant (suite)
◮
Protocole IMAP (les mails sont conservés sur le serveur, le client
maintient une copie locale qu’il synchronise).
⋆
⋆
⋆
⋆
◮
serveur : adresse et port (143 ou 993 pour SSL),
identité sur le serveur : login, mdp et méthode,
mode de synchronisation (imap déconnecté = lecture total pour
consultation hors connexion ou lecture des entête)
gestion des dossiers.
Le protocole IMAP est plus complexe mais permet une meilleure
gestion des mails. Il permet la consultation depuis plusieurs clients
différents avec synchronisation. Il est utilisé par les collectitiels
(Groupwares).
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
10 / 41
Messagerie électronique
Protocoles
Le protocole SMTP [RFC 821]
Transfert direct entre le serveur émetteur et le serveur récepteur (port
25/TCP)
3 phases de transfert
◮
◮
◮
handshaking (établissement de la connexion)
transfert d’un ou plusieurs messages
fermeture de la connexion
Les connexions sont persistentes
◮
si plusieurs messages à destination du même serveur sont en attente sur
le serveur émetteur, ils transiteront tous sur la même connexion TCP
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
11 / 41
Messagerie électronique
Protocoles
Le protocole SMTP [RFC 821]
Une succession de Commande/Réponse
◮
◮
Commande SMTP : texte ASCII (HELP, HELO, MAIL FROM :, RCPT
TO :, DATA, . . .)
Réponse SMTP : code d’état (status) + phrase
Un message peut contenir plusieurs objets ; ils sont alors envoyés dans
un message ”multipart” (contrairement à HTTP : 1 objet = 1
réponse)
Le serveur SMTP utilise CRLF.CRLF pour reconnaı̂tre la fin d’un
message
Les messages (en-tête ET corps) sont transférés en ASCII 7 bits
(US-ASCII) il peut donc y avoir un problème d’encodage.
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
12 / 41
Messagerie électronique
Protocoles
La boite au lettre
En général c’est :
◮
◮
fichier contenant les mails (mailbox)
un ensemble de fichiers (maildir)
Pour accéder au mail, on peut utiliser
◮
◮
◮
◮
un
un
un
un
accès distant,
partage de fichier (reseau local),
protocole spécifique (POP, IMAP),
webmail
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
13 / 41
Messagerie électronique
Protocoles
Le protocole POP3
Principe est extrêmement simple
Le client peut :
◮
◮
◮
lister les mails disponibles ( list ),
rapatrier un mail ( retr <num>),
supprimer un mail (dele <num>).
Protocole limité :
◮
◮
permet uniquement de télécharger des messages depuis le serveur en
laissant éventuellement une copie de ceux-ci dans la BAL de l’utilisateur
pas adapté aux utilisateurs nomades :
⋆
⋆
impossible de gérer des répertoires sur le serveur
impossible de gérer les messages en les laissant sur le serveur
⇒IMAP répond à cette problématique au prix
d’un protocole beaucoup plus complexe
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
14 / 41
Messagerie électronique
Protocoles
Le protocole IMAP [RFC 3501]
IMAP permet la gestion distante des messages
associe un message à un répertoire distant sur le serveur
permet à l’utilisateur de faire une recherche dans les messages sur le
serveur
permet de ne consulter que des extraits de messages (par exemple que
l’en-tête ou que la partie texte d’un message multipart...)
contrairement à POP3, IMAP conserve des informations d’état sur
chaque utilisateur (noms des répertoires, listes des messages qu’ils
contiennent...)
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
15 / 41
Messagerie électronique
Protocoles
Cas du webmail
Le MUA est un logiciel web
◮
◮
◮
méthode la plus utilisée par le grand public
pas de protocole d’accès, utilisation d’un navigateur web
problème de compréhension
Intérêts :
◮
◮
◮
◮
pas de configurations de la part de l’utilisateur final ;
disponibilité (http) ;
sécurité (a cause de la configuration) ;
fiabilité (centralisations des données).
Inconvénients :
◮
◮
◮
◮
interface limitée ;
utilisation des ressources ;
confidentialité ;
dépendance.
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
16 / 41
Messagerie électronique
Protocoles
Les alias
Adresse d’un destinataire : bal@nom domaine
Problème :
◮
◮
◮
bal n’est pas forcément le login de l’utilisateur
nom domaine n’est pas forcément le nom du serveur de mail contenant
les BAL
bal peut représenter plusieurs destinataires (listes)
Il faut faire des alias (souvent /etc/ aliases )
O l i v i e r . G l u c k −−> / v a r / m a i l / o g l u c k
ens−l y o n . f r −−> m a i l h o s t . ens−l y o n . f r
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
17 / 41
Messagerie électronique
Contenu des mails
Entête
Un message est composé d’un en-tête et d’un corps (RFC 822)
les champs de l’en-tête peuvent être positionnés soit par l’agent
utilisateur émetteur, soit par le serveur entrant, soit par le serveur
sortant
un champ d’en-tête est de la forme nom champ: valeur<CRLF>
l’en-tête contient au minimum les champs From et To, très souvent le
champ Subject
peut permettre de mettre en place des filtres...
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
18 / 41
Messagerie électronique
Contenu des mails
Le codage des messages
SMTP est prévu pour transférer des caractères US-ASCII sur 7 bits ⇒
problème de la représentation des caractères accentués, du transfert
des octets (images...)
Pour transférer une image ou du texte accentué, l’agent utilisateur
émetteur/récepteur doit encoder/décoder le contenu du message
Encodage quoted-printable
◮
◮
les ASCII étendus sont codés par =xx où xx est le code hexadécimal du
caractère à encoder ;
généralement utilisé pour transférer du texte.
Encodage base64 :
◮
◮
3 octets codés sur 4 carractère NVT (6 bits) ;
généralement utilisé pour transférer des flux d’octets.
ESMTP
◮
◮
évolution de SMTP pour transférer les message directement ;
spécifié par Content−Transfer−Encoding: 8bit ou Binary dans l’en-tête.
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
19 / 41
Messagerie électronique
Contenu des mails
Le type des données
Le mail permet de transférer tout type de données :
◮
◮
◮
◮
◮
texte simple
image
texte formaté (html)
documents attachés
...
Il faut pouvoir retrouver le type des données transférée
Il n’est pas possible de se servir de l’extention (car tous les systèmes
ne l’utilisent pas)
On utilise un moyen pour déclarer le type : le type MIME
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
20 / 41
Messagerie électronique
Contenu des mails
Les types MIME [RFC 2045, 2056]
MIME : Multi-purpose Internet Mail Extensions Permet l’échange de
fichiers multimédias entre machines quelconques en spécifiant dans
l’en-tête
◮
◮
le type du fichier en vue d’un traitement par l’agent utilisateur
destinataire
le codage des données du fichier
Les commandes MIME ont été intégrées dans HTTP1.0 Un type
MIME est composé
◮
◮
d’un type général (text, image, audio, video, application...)
et d’un sous-type (image/gif, image/jpeg, application /pdf,
application / rtf , application /msword, text/ plain, text/html)
En perpétuelle évolution
La machine cliente doit ensuite associer l’exécution d’une application
à chaque type MIME
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
21 / 41
Messagerie électronique
Contenu des mails
Exemple
Content−Type: type/subtype; parameters Lignes supplémentaires dans
l’en-tête du message pour déclarer un type MIME et un encodage
Exemple
From : RICO FABIEN <f a b i e n . r i c o @ u n i v −l y o n 1 . f r >
To : RICO FABIEN < f a b i e n . r i c o @ u n i v −l y o n 1 . f r >
Date : Sun , 12 Dec 2010 2 2 : 3 5 : 4 4 +0100
Subject : tes t
...
−− 0 0 5 2 0 1 0 1 2 1 2 2 2 5 2 3 7 8 6 1 f a b i e n r i c o u n i v l y o n 1 f r
Co ntent−Type : image / png ; name=" jp_ordi . png"
Co ntent−D e s c r i p t i o n : j p o r d i . png
Co ntent−D i s p o s i t i o n : a t t a c h m e n t ; f i l e n a m e=" jp_ordi .png" ;
s i z e =50133;
c r e a t i o n −d a t e="Sun , 12 Dec 2010 22:52:44 GMT" ;
m o d i f i c a t i o n −d a t e="Sun , 12 Dec 2010 22:52:44 GMT"
Co ntent−T r a n s f e r −E n c o d i n g : b a s e 6 4
...
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
22 / 41
Messagerie électronique
Contenu des mails
Le type Multipart
Un message peut contenir plusieurs objets ; ils sont alors envoyés dans un
message ”multipart” (contrairement à HTTP : 1 objet = 1 réponse)
Le message est signalé par le type multipart /mixed
On lui associe une chaı̂ne de caractères pour marquer la frontière entre
les objets.
Chaque objet a un type
Il est aussi possible de définir des alternatives (message text/html)
Exemple
Co ntent−Type : m u l t i p a r t / mixed ;
b o u n d a r y=" _005_20101212225237861fabienricounivlyon1fr_"
MIME−V e r s i o n : 1 . 0
...
−− 0 0 5 2 0 1 0 1 2 1 2 2 2 5 2 3 7 8 6 1 f a b i e n r i c o u n i v l y o n 1 f r
Co ntent−Type : t e x t / p l a i n ; c h a r s e t="utf -8"
Co ntent−T r a n s f e r −E n c o d i n g : b a s e 6 4
...
−− 0 0 5 2 0 1 0 1 2 1 2 2 2 5 2 3 7 8 6 1 f a b i e n r i c o u n i v l y o n 1 f r
Co ntent−Type : a p p l i c a t i o n / p d f ; name="cm6 -mail -web. pdf"
Co ntent−D e s c r i p t i o n : cm6−m a i l −web . p d f
...
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
23 / 41
HTTP : le protocole du Web
Introduction
Worl Wide Web
Architecture pour accéder à des documents liés entre eux et situés sur
des machines reliées par Internet
Architecture basée sur 3 concepts :
◮
◮
◮
la localisation → URL
le protocole → HTTP
le langage → HTML
Popularité due à :
◮
◮
◮
interfaces graphiques conviviales
très grande quantité d’informations
grande diversité des informations
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
24 / 41
HTTP : le protocole du Web
Introduction
Le jargon du Web
Une page Web :
◮
◮
contient des ”objets”
désignée par une adresse
(URL)
L’Agent Utilisateur pour le
Web est le browser :
La plupart des pages Web
contiennent :
◮
◮
◮
◮
◮
du code HTML de base
des objets référencés
Le serveur Web :
L’URL a au moins deux
composantes :
◮
◮
◮
◮
le nom d’hôte contenant la
page Web
le chemin d’accès sur l’hôte
c O.Glück & F.Rico (U.C.B.L.)
MS Internet Explorer
Firefox
...
Client/Serveur
Apache (domaine public)
MS Internet Information
Server
séance 5
25 / 41
HTTP : le protocole du Web
Introduction
Fonctionnement du Web
Le client (navigateur ou browser) dialogue avec un serveur Web selon
le protocole HTTP
Le serveur vérifie la demande, les autorisations et transmet
l’information
Le navigateur interprète le fichier reçu et l’affiche (le navigateur, un
plug-in ou un helper)
A ce schéma de base, peuvent s’ajouter :
◮
◮
des contrôles par compte individuel, par domaine, par adresse IP...
des exécutions de code coté serveur et/ou coté client
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
26 / 41
HTTP : le protocole du Web
URL
Adressage des documents
Il faut nommer, localiser et accéder à une page : → 3 questions :
Quoi ? Où ? Comment ?
Solution :
◮
◮
URL - Uniform Resource Locator : Adresse universelle de ressource
en 3 parties : le protocole (comment), le nom DNS (où) et le nom du
document (quoi)
URL → URI (Universal Resource Identifier) un sur-ensemble des URLs
URL classique (simplifiée) :
http://www.monsite.fr/projet/doc.html
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
27 / 41
HTTP : le protocole du Web
URL
Composantes d’une URL
proto://login:mot_de_pass@host_name:port/chemin/d/acces/fichier?arguments#balise
proto : le protocole d’accès (ex http, ftp, . . .)
login /mot de passe : information d’authentification en clair
host name : le FQDN du serveur à contacter
port : le port sur le serveur
/chemin/d/acces/ : le chemin d’accès sur le serveur, la racine de ce
chemin est définie par le serveur
fichier : le fichier à lire
argument : les argument à transmettre au serveur la base
balise : la position dans la page (pour positionner le navigateur).
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
28 / 41
HTTP : le protocole du Web
URL
URL relative
Url relative
un lien vers ”images/new.gif” dans la page
http://www.monsite.fr/projet/doc.html est un lien vers
http://www.monsite.fr/projet/images/new.gif
le navigateur client reconstruit l’URL absolue pour faire la requête
la balise HTML <BASE href="url"> permet de positionner la racine
pour les URLs relatives du document contenant cette balise
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
29 / 41
HTTP : le protocole du Web
Client/Serveur
Vision côté client
Le navigateur (browser)
va rechercher la page demandée
interprète les commandes de formatage et de mise en forme (police,
gras, couleurs...)
va rechercher et affiche des images
animation (code JavaScript, gifs...)
affiche la page correctement formatée
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
30 / 41
HTTP : le protocole du Web
Client/Serveur
Vision côté serveur
Le serveur est en permanence à l’écoute des requêtes formulées par
les clients
Il vérifie la validité de la requête...
◮
◮
adresse correcte (URL)
client autorisé à accéder au document
... et y répond : envoi du texte, des images, du code à exécuter sur le
client, d’un message d’erreur, d’une demande d’authentification, ...
Il peut exécuter un programme localement qui va générer une réponse
HTML (pages dynamiques)
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
31 / 41
HTTP : le protocole du Web
Client/Serveur
Formulaire
Apporte de l’inter-activité avec l’utilisateur en proposant des zones de
dialogue : un formulaire n’est qu’une interface de saisie !
Selon les choix de l’utilisateur, il faut y associer un traitement
◮
◮
sur le client avec JavaScript par exemple
sur le serveur par l’intermédiaire de CGI, PHP, ...
Exemples typiques d’utilisation de formulaire
◮
◮
◮
commandes, devis via Internet
moteurs de recherche
interactions avec une base de données
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
32 / 41
HTTP : le protocole du Web
Client/Serveur
Principe du formulaire
On décrit à l’aide de balises HTML les différents champs de saisie
Chaque zone est identifiée par un nom symbolique auquel sera
associée une valeur par l’utilisateur
Quand le formulaire est soumis, les couples (nom/valeur) de toutes
les zones sont transmis dans la requête HTTP au serveur
A chaque zone de saisie peut être associé un traitement sur le client
par l’intermédiaire d’un événement JavaScript
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
33 / 41
HTTP : le protocole du Web
Client/Serveur
Transfert de données
Pour utiliser les formulaires, il faut que le client puisse envoyer des
données :
Méthode GET
requête standard pour obtenir une page,
transmission des données via l’URL,
◮ permet d’obtenir des liens vers des pages dynamiques.
Méthode POST
◮ information dans le corps de la requête,
◮ plus discret mais les données sont en clair (sauf si utilisation de SSL),
◮ moyen d’envoyer des informations volumineuses.
Cookies
◮ données stockées sur le client mais gérées par le serveur et transmises
dans l’entête de la requête,
◮ information très limitée,
◮ durée de vie plus longue (session, suivi,...).
◮
◮
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
34 / 41
HTTP : le protocole du Web
Protocole HTTP
Protocole HTTP
HTTP : Hyper Text Transfer Protocol
Protocole régissant le dialogue entre des clients Web et un serveur
(c’est le langage du Web !)
Fonctionnement en mode Client/Serveur
Une transaction HTTP contient
◮
◮
◮
◮
le type de la requête ou de la réponse (commande HTTP)
un en-tête
une ligne vide
un contenu (parfois vide)
Très peu de type de requêtes/réponses
Port standard : 80, 443 (SSL), 8080 (souvent utilisé en
remplacement).
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
35 / 41
HTTP : le protocole du Web
Protocole HTTP
Transaction typique
1
2
le client contacte le serveur pour demander le document (voir l’url)
le client ajoute un entête pour informer le serveur de sa configuration
◮
◮
◮
◮
◮
au moins le nom du serveur réclamé pour les serveurs virtuels
le logiciel client
les type de données supporté (images,...), encodage...
les cookies
...
3
le client envoie une ligne vide (fin de l’en-tête)
4
le client envoie un contenu si besoin (POST)
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
36 / 41
HTTP : le protocole du Web
Protocole HTTP
Transaction typique
5
6
le serveur répond en commençant par indiquer par un code, l’état de
la requête
le serveur envoie un en-tête qui donne des informations sur lui-même
et le document demandé
◮
◮
◮
◮
encodage,
longueur de la réponse,
gestion du cache,
...
7
puis une ligne vide (fin de l’en-tête)
8
le contenu du document si la requête a réussi
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
37 / 41
HTTP : le protocole du Web
Protocole HTTP
Durée de vie des connexions
HTTP 1.0 (RFC 1945)
dès que le serveur a répondu à une requête, il ferme la connexion
HTTP
HTTP 1.1 (RFC 2068)
par défaut, la connexion est maintenue tant que le serveur ou le client
ne décide pas de la fermer (Connection : close)
◮
◮
beaucoup de page comporte des liens (CSS, images, ...),
permet de limiter le nombre de connexions.
HTTP est un protocole sans état
◮
◮
◮
aucune information n’est conservée entre deux connexions,
permet au serveur HTTP de servir plus de clients en un temps donné
(gestion légère des transactions),
pseudo connexion via :
⋆
⋆
⋆
⋆
les sessions
les cookies
les champs cachés de formulaire
...
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
38 / 41
HTTP : le protocole du Web
Protocole HTTP
Cache web
Beaucoup de système utilise un cache proxy pour accéder à internet
Le cache est proche du client.
Réduction du temps de réponse.
Réduction du débit vers les serveurs distants (ex : installation
reseaux).
Accès aux données protégées (ex : revue en lignes).
Limiter l’accès au web uniquement (ex : salle TPReseaux).
Surveillance des utilisateurs (ex : réseaux nat).
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
39 / 41
HTTP : le protocole du Web
Protocole HTTP
Fonctionnement proxy web
La requête http via un proxy est une requête qui contient l’url complète à
contacter
GET h t t p : / /www. g o o g l e . f r / HTTP/ 1 . 1
HOST : www. g o o g l e . f r
Le serveur de cache transmet la requête au serveur concerné avec son
identité.
Il transmet la réponse mais
◮
◮
garde une trace (log),
garde une copie (cache).
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
40 / 41
Conclusion
Conclusion
mail et web
Protocoles dont l’utilisation a beaucoup évoluée.
Confusion web/internet.
Détournement de leur utilisation
◮
◮
mail pour les rendez-vous, le stockage des données,...
web pour les accès distants, la gestions des BD,...
Raisons du succès ?
◮
◮
◮
◮
outils nécessaires,
compatibilité,
facilité d’accès,
...
c O.Glück & F.Rico (U.C.B.L.)
Client/Serveur
séance 5
41 / 41

Documents pareils