0% ont trouvé ce document utile (0 vote)
15 vues12 pages

Fonctionnement du Protocole HTTP

Le document présente le protocole HTTP, un modèle de communication client-serveur permettant la récupération de documents, qu'ils soient statiques ou dynamiques. Il décrit le fonctionnement des requêtes et réponses HTTP, les méthodes disponibles, les codes de statut, ainsi que les en-têtes utilisés dans les communications. Les exemples illustrent les requêtes POST et GET, ainsi que les réponses associées, fournissant une compréhension approfondie de l'architecture client-serveur.

Transféré par

Doha Boutaten
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 PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
15 vues12 pages

Fonctionnement du Protocole HTTP

Le document présente le protocole HTTP, un modèle de communication client-serveur permettant la récupération de documents, qu'ils soient statiques ou dynamiques. Il décrit le fonctionnement des requêtes et réponses HTTP, les méthodes disponibles, les codes de statut, ainsi que les en-têtes utilisés dans les communications. Les exemples illustrent les requêtes POST et GET, ainsi que les réponses associées, fournissant une compréhension approfondie de l'architecture client-serveur.

Transféré par

Doha Boutaten
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 PDF, TXT ou lisez en ligne sur Scribd

Université Ibn Zohr

Faculté des Sciences d’agadir


Centre d’excellence IT

Plateforme Java EE
Développement d’application d'Enterprise

Protocole HTTP

Pr. N. RIDA
Architecture Client Serveur
HTTP
Protocole : HTTP
Client
Serveur
HTTP :HyperText Tranfert Protocol

• Protocole de communication dans un modèle client-serveur, qui permet au client de


récupérer des documents du serveur
• Ces documents peuvent être :
 Statiques (contenu qui ne change pas : HTML, PDF, Image, etc..)
 ou Dynamiques ( Contenu généré dynamiquement au moment de la requête : PHP, JSP,
ASP…)

Fonctionnement :

• Le client se connecte au serveur (Créer une socket)


• Le client demande au serveur un document : Requête HTTP
• Le serveur renvoi au client le document (status=200)
• ou Le serveur renvoi une erreur (status=404) quand le document n’existe pas
• Déconnexion
Architecture Client Serveur
Protocole : HTTP

Client HTTP Serveur WEB


Connexion
:Server-Socket
:Socket
Port : 80
Requête GET/[Link] IP : …
Port : 80
IP : … HTTP
Entête [Link] :: Corps de la requête

Statu = 200 Réponse


Entête [Link] :: Corps deHTTP
la réponse :Socket

Déconnexion Port : 80 [Link]


[Link]
IP : …

Keep-Alive
Architecture Client Serveur
HTTP
Protocole : HTTP
Méthodes HTTP Client

 Une requête HTTP peut être envoyée en utilisant les méthodes suivantes:
Serveur

• GET : Pour récupérer le contenu d’un document


• POST : Pour soumissionner des formulaires (Envoyer, dans la requête, des
données saisies par l’utilisateur )
• PUT pour envoyer un fichier du client vers le serveur
• DELETE permet de demander au serveur de supprimer un document.
• HEAD permet de récupérer les informations sur un document (Type, Capacité, Date
de dernière modification etc…)
 Avec HTTP/1.1:
• OPTIONS : Permet au client HTTP d’interroger le serveur pour fournir les
options de communications à utiliser pour une ressource ciblée ou un ensemble
de ressources
(Méthodes autorisées, Entêtes autorisées, Origines autorisés, …)
-> utilisé souvent comme requête de pré-vérification CROSS-ORIGINE.
souvent pour des raisons de sécurité les navigateur refusent l’envoie de requête d’un domaine vers un
autre à mois que si le domaine cible autorise cette opération
Architecture Client Serveur
Protocole : HTTP
Exemple d’une requête POST : HTTP
Entête de la
requête
POST /loginHTTP/1.1
HOST : [Link]
ACCEPT : application/json
Content-type : application/x-www-form-
urlencoded
Cookie : JSESSIONID : C4512152018CFDDOP345677

// Saut de ligne Corps de la


requête

username=admin & password=1234 &


action=login
Architecture Client Serveur
Protocole : HTTP
Exemple d’une requête POST : HTTP
Entête de la
requête
POST /login
HTTP/1.0
HOST : [Link]
ACCEPT : application/json
Content-type : application/json
Cookie : JSESSIONID : C4512152018CFDDOP345677

// Saut de ligne Corps de la


requête

{ "username" : " admin " , "password" : "1234" ,


"action" : " login" }
Architecture Client Serveur
Protocole : HTTP
Exemple d’une requête GET : HTTP
Entête de la
requête
GET /login
?username=admin & password=1234 & HTTP/1.0
action=ok
HOST : [Link]
ACCEPT : application/json
Content-type : application/x-www-form-
urlencoded
Cookie : JSESSIONID : C4512152018CFDDOP345677

// Saut de ligne Corps de la


requête
Architecture Client Serveur
Protocole : HTTP
Exemple d’une réponse : HTTP
Entête de la
réponse
HTTP/1 200 OK
Date
.1 : Wed, 05Feb02 15:02:01 GMT
Server : Apache/1.3.24
Last-Modified : Wed, 02Oct01 24:02:01 GMT
Content-type : application/json
Content-length : 77
SET-Cookie : JSESSIONID : C4512152018CFDDOP345677 expires : Sat,
Corps de la
10-Avr-2025 09:30
Réponse
// Saut de ligne

[
{ "id" : 1 , "TaskName" : "T1"}, { "id" : 2 ,
"TaskName" : "T2"},

{ "id" : 3 , "TaskName" : "T3"}


]
Architecture Client Serveur
Protocole : HTTP
Codes de statu : HTTP
 Lorsque le serveur renvoie un document, il lui associe un code e statu
renseignant ainsi le client sur le résultat de la requête (requête invalide,
document non trouvé …)
 Il existe cinq catégories de codes d'état de réponse HTTP : 1xx, 2xx, 3xx, 4xx
et 5xx
• Information 1xx :
• 100 (Continue): Utilisé dans le cas où la requête possède un corps
volumineux.
• 101 (switching protocole) : Demander au client de changer de protocole.
i.e. switching de HTTP 1.0 vers HTTP 1.1
• Succès 2xx :
• 200 (OK): Le document a été trouvé et son contenu suit…
• 201 (Created) : Le document a été créé en réponse à un PUT
• 202 (Accepted) : Requête acceptée, mais traitement non terminé.
• 204 (No Response) : Le serveur n’a aucune information à renvoyer.
• 206 (Partial Content) : une partie du document suit…
Architecture Client Serveur
Protocole : HTTP
Codes de statu : HTTP
• Redirection 3xx :
• 301 (Moved): Le document a changé d’adresse d’une façon permanente
• 302 (Found) : Le document a changé d’adresse temporairement.
• 304 (Not modified) : Le document demandé n’a pas été modifié.
• Erreurs du Client 4xx :
• 400 (Bad Request): La syntaxe de la requête est incorrecte…
• 401 (Unauthorized) : Le client n’a pas les privilèges d’accès au
document
• 403 (Forbidden) : L’accès au document est interdit
• 404 (Not Found) : Le document demandé n’a pu être trouvé
• 405 (Method not allowed) : La méthode de la requête n’est pas autorisée.
• Erreurs du Serveur 5xx :
• 500 (Internal Error): Une erreur inattendu est survenue au niveau du
serveur…
• 501 (Not implemented) : La méthode utilisé n’est pas implémentée.
• 502 (Bad Gateway) : Erreur du serveur distant lors d’une requête proxy.
Architecture Client Serveur
Protocole : HTTP
Entêtes : HTTP

• Entêtes HTTP génériques :


• Content-length : Longueur en octets des données suivant les en-têtes
• Content-Type: type des données qui suivent.
• Connection: indique si la connexion TCP doit rester ouverte (Keep-Alive)
ou être fermée (close).
• Entêtes de la requête :
• Accept. : type que le client accepte et attend.
• Accept-encoding: type d’encodage que j’accepte.
• Accept-language: le code de la langue utilisé par le navigateur
• Cookie. : Données de cookie mémorisées par le client.
• Host : Hôte virtuel demandé.
• If-modified-since: ne retourne le document que s’il a changé depuis la
date indiquée
• If-none-match. : ne retourne le document que s’il a changé.
• Referer : URL de la page à partir de laquelle le document est demandé.
• User-agent: nom et versión du logiciel utilisé
Architecture Client Serveur
Protocole : HTTP
Entêtes : HTTP

• Entêtes de la réponse :

• Allowed. : Méthodes HTTP autorisées pour cette URI (comme PORT).


• Date : date et heure courante (d’envoie de la réponse) .
• Expires: date d’expiration du document (pour le supprimer du cache)
• Last-modified. : Date du dernière modification.
• Location : Adresse du document lors d’une redirection.
• Etag: numéro de version du document
• Pragma. : données annexes pour le navigateur (i.e. [Link]).
• Server : nom et version du serveur .
• Set-cookie: permet au serveur d’écrire un cookie sur le disque du
client.

Vous aimerez peut-être aussi