0% ont trouvé ce document utile (0 vote)
161 vues25 pages

Cours HTTP

Transféré par

mohamedxdd8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPS, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
161 vues25 pages

Cours HTTP

Transféré par

mohamedxdd8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PPS, PDF, TXT ou lisez en ligne sur Scribd

Université des Sciences et de la Technologie

d’Oran
- Mohamed Boudiaf -

Cours L3/ISIL

HyperText Transfert Protocol


Pr Mekkakia.M.Z
Introduction
Client (Navigateur web) et
Serveur Web
Les deux s’échangent des
documents HTML en utilisant le
protocole HTTP

2
Quelques rappels
Le web se base sur 3 concepts :

 L’URL(Uniform Resource Locator)

 HTTP (HyperText Transfer Protocol)

 Les langages du web

3
URL
[Link]
mathinfo/[Link]
 https :
 protocole applicatif (comment?)
 [Link] :
 nom du serveur (où?)
 faculte/fac-mathinfo/[Link] :
 chemin complet/page demandée (quoi?)

4
HTTP
Définit le format et la signification des
messages échangés entre client et serveur

Requête HTTP : demander une page web


 du client vers le serveur
Réponse HTTP : répondre au navigateur
 du serveur vers le client

5
Les langages (élémentaires)du
Web
HTML : décrire le contenu d’une page
web

CSS : définir les styles de la page web

Javascript : programmation coté client


(navigateur)

PHP : programmation coté serveur


6
Le client Web
Client web (client HTTP) est un logiciel qui
permet de se connecter à un serveur web
(serveur HTTP).
Exemples de client web
 Navigateur Web (ex: Mozilla, Chrome, )
 Aspirateur de site Web (ex: wget, HTTrack, …)
 Robot d’indexation (ex: Googlebot, Facebot, …)
 Robot d’archivage (ex: Archivarix, Heritrix, … )
 . . .

7
Serveur Web
Serveur Web est un programme qui
utilise le protocole HTTP pour fournir
les fichiers qui constituent les pages
HTML d’un site Web
Exemple de serveurs web open source
 Serveur HTTP Apache
 NGINX
 Apache Tomcat
 [Link]

8
HTTP est un protocole sans
état
(Stateless protocol)
Aucune information n'est conservée
entre deux requêtes successives.
 les requêtes sont indépendantes les unes
des autres.
 Ceci permet au serveur HTTP de servir plus
de clients .
 Cookie est utilisé pour conserver des
informations entre deux requêtes.

9
COOKIE (Témoin de
connexion)
Les cookies mémorisent l'information
sur l'utilisateur d'un site
 EX: pour lui montrer un contenu approprié
dans le futur.
Les cookies permettent de :
 Donner un ID au client
 Ex: permettre au serveur de ne pas compter deux fois
le même navigateur pour comptage du nombre de
visites sur le site
 Propager un code d'accès
 éviter l’authentification lors de chaque requête
 Propager un ID dans
10
 une base de données, une session PHP
Communication
client/serveur(1/2)
1- URL [Link]
 est donnée au navigateur.

2- Le navigateur
 extrait le nom de domaine '[Link]'
 grâce à l’opération DNS lookup, il résout le nom
de domaine en une adresse IP.
3- Une connexion TCP/IP est établie entre
navigateur et serveur Web distant.

11
Communication client/serveur
(2/2)
4- Requête HTTP demandant la ressource
'/[Link]' est transmise par le
navigateur
5- Le serveur Web trouve la ressource
correspondante et en renvoie le contenu
dans une réponse HTTP
6- Le navigateur reçoit et affiche le contenu
du fichier HTML '/[Link]'

12
Requête HTTP (Format)
Ligne de commande (Commande,
URL, Version de protocole)
En-tête de requête
[Ligne vide]
Corps de requête

13
Requête HTTP (Contenu!)
Méthode (commande) employée
URL de la ressource
Version du protocole utilisé par le client
Navigateur employé et sa version
Type du document demandé (ex: HTML)
...
 Certaines de ces lignes sont optionnelles.

14
Requête HTTP (Exemple 1)
GET /mondossier/[Link] HTTP/1.1
User-Agent : Mozilla/5.0
Accept : text/html
 "GET" est la méthode employée
 "/mondossier/[Link]" correspond l'URL
 "HTTP/1.1" : la version du protocole est la 1.1
 "Mozilla/5.0" : le navigateur web employé
 "text/html" : le client s'attend à recevoir du HTML

15
Requête HTTP (Exemple2)
GET [Link]
HTTP/1.0

User-Agent : Mozilla/4.0 (compatible; MSIE 5.0;


Windows 95)

Accept : text/html

If-Modified-Since : Saturday, 15-January-2000


[Link] GMT
16
Requêtes HTTP (Les plus
utilisées)
GET
 Demander une ressource.
HEAD
 Demander des informations sur la ressource, sans
demander la ressource elle-même.
POST
 Soumettre des données en vue d'un traitement (côté
serveur).
 c'est la méthode employée lorsqu'on envoie au

serveur les données issues d'un formulaire.


DELETE
 Supprimer une ressource sur le serveur.
PUT
 Modifier une ressource sur le serveur
17
Réponse HTTP (Format)
Ligne de statut (Version, Code-
réponse, Texte-réponse)
En-tête de réponse
[Ligne vide]
Corps de réponse

18
Réponse HTTP (Exemple)
Ligne de statut (Version, Code-réponse, Texte-
réponse)
 HTTP/1.1 200 OK
En-tête de réponse
 Date: Thu, 15 feb 2019 [Link] GMT
 Server: Apache/2.0.54 (Debian GNU/Linux) DAV/2
SVN/1.1.4
 Connection: close
 Transfer-Encoding: chunked
 Content-Type: text/html; charset=ISO-8859-1

Corps de réponse
 <html> <head> . . . </html> 19
Réponses HTTP (Quelques
codes)
Code-réponse Texte-réponse Signification
1xx Information
100 Continue Attente de la suite de la requête.
101 Switching Protocols Acceptation du changement de protocole.
2xx Succès
Requête traitée avec succès. La réponse dépendra de la
200 OK
méthode de requête utilisée.
204 No Content Requête traitée avec succès mais pas d’information à renvoyer.
3xx Redirections
301 Moved
Document déplacé de façon permanente.
Permanently
302 Found Document déplacé de façon temporaire.
4xx Erreur du client HTTP
400 Bad Request La syntaxe de la requête est erronée.
401 Unauthorized Une authentification est nécessaire pour accéder à la ressource.
5xx Erreur du serveur
503 Service Unavailable Service temporairement indisponible ou en maintenance.
HTTP Version not
505 Version HTTP non gérée par le serveur.
supported
20
Versions HTTP
HTTP/0.9 : Première version publique (1991)
HTTP/1.0 : Premier RFC (Rfc1945, 1996)
HTTP/1.1 : Version standardisée (RFC 2068, 1997)
HTTPS : Connexion chiffrée (RFC 2818, 2000)
HTTP/2 : Plus de performances (RFC 7540 , 2015)
HTTP/3 : Juin 2022 (RFC 9114) (Chiffrement et
support de UDP –QUIC protocole)
 Plus de detail : [Link]

Statistiques ( en date de juin 2022)


 8 % du trafic Internet est basé sur HTTP/1,
 suivi de HTTP/2 à 67 %
 et de HTTP/3 à 25 %.
21
CGI (Common Gateway
Interface)
CGI est utilisée par les serveurs HTTP
Un programme CGI:
 reçoit des données envoyées par le serveur,
 Il les traite
 puis renvoi
 des en-têtes de réponses et
 des tags HTML valides. En effet
 lorsqu'un programme CGI renvoie un fichier, il doit
commencer par envoyer un en-tête HTTP permettant
de préciser le type de contenu envoyé au navigateur

22
Un programme CGI
Un programme CGI doit être mesure de
 lire le flux de données d'entrée
 traiter des chaînes de caractères
 écrire sur le flux standard de sortie
Il doit être exécutable par le serveur web
Il est écrit en
 Perl, C++, Python, Java , ou n’importe quel autre
langage

23
Interactions Client/Serveur
Web

Référence de l’exemple d’interaction client/serveur web


[[Link] 24
À vous !
Par quoi commence toujours une
adresse URL ?
Citer 3 serveurs web open source
avec leur fréquence d’utilisation sur
les serveurs sur World Wide Web.
HTTP est un protocole sans état,
citer un autre protocole sans état,
et un protocole avec état.
Quel est la différence entre les deux
réponses 401 et 403. 25

Vous aimerez peut-être aussi