‐
Université de Batna 2
Faculté Mathématique et Informatique
Département Informatique
Réseaux informatiques
Chapitre 3
La couche application
Licence 2 informatique
Par BELLOULA Messaoud
Email: [Link]@[Link]
Année universitaire 2024/ 2025
Définition de la couche application
La couche application du modèle OSI
est la couche la plus haute qui sert
d’interface entre l’utilisateur et le
réseau.
Elle permet aux applications
d’accéder aux services réseau en
utilisant des protocoles spécifiques
pour échanger des données.
01
1
‐
Couche application OSI, TCP/IP
Couche application TCP/IP ≡ les couches application, présentation et session
du modèle OSI .
02
Rôle de la couche application
Elle se charge de l’interprétation des informations, de leur présentation et de
la gestion des interactions entre les applications communicantes.
Elle ne s’occupe pas de la transmission physique des données, mais garantit
que les informations sont compréhensibles et exploitables par les logiciels qui
en ont besoin.
03
2
‐
Logiciels de la couche application
Applications orientées réseau
Implémentent les protocoles de couche application
Capables de communiquer directement avec les couches inférieures
Ex. clients de messagerie,navigateurs Web, …
Services de couche application
Programmes qui établissent l’interface avec le réseau et préparent les données à
transférer.
04
Numéro de port
Un numéro de port est un identifiant numérique utilisé dans les protocoles
réseau (TCP/UDP) pour diriger les paquets de données vers la bonne application
sur un appareil.
Catégories :
Ports bien connus (0 - 1023) : utilisés par les protocoles standards (HTTP, FTP,
etc.).
Ports enregistrés (1024 - 49151) : attribués à des applications spécifiques (ex:
jeux en ligne).
Ports dynamiques/éphémères (49152 - 65535) : utilisés temporairement pour
des connexions aléatoires.
05
3
‐
Exemples de numéro de port
Numéro de port TCP ou UDP Service, Protocole ou Application
20, 21 TCP FTP ( File Transfer Protocol )
22 TCP SSH ( Secure Shell Protocol )
23 TCP Telnet ( Teletype Network )
25 TCP SMTP ( Simple Mail Transfer Protocol )
53 UDP DNS ( Domain Name System )
69 UDP TFTP ( Trivial File Transfer Protocol )
80 TCP HTTP ( Hyper Text Transfer Protocol )
110 TCP POP ( Post Office Protocol )
143 TCP IMAP ( Internet Messaging Access Protocol )
443 TCP HTTPS ( Secure HTTP )
06
Modèle Client / Serveur
Une application où un client envoie des requêtes à un serveur qui centralise les
ressources et répond aux demandes.
Fonctionnement :
1. Le client envoie une requête au serveur.
2. Le serveur traite la demande et envoie une réponse.
3. Le client affiche ou utilise les données reçues.
Exemples :
Sites web (Google, Facebook, YouTube).
Applications de messagerie (Yahoo, Gmail).
Bases de données en ligne (Oracle, MySQL).
07
4
‐
Modèle Peer to Peer
Une application où chaque participant (peer) est à la fois client et serveur,
échangeant des données directement.
Fonctionnement :
1. Un peer recherche une ressource (fichier, service, donnée).
2. Un autre peer possédant cette ressource la partage directement.
3. L’échange se fait sans serveur central.
Exemples :
Partage de fichiers (BitTorrent, eMule).
Cryptomonnaies et blockchain (Bitcoin).
Communications décentralisées (Skype initialement).
08
DNS ( Domain Name System) 1/2
• Utilise le port numéro 53.
• Un serveur DNS effectue la résolution des noms à l’aide du démon appelé
« named ».
• Le serveur DNS stocke différents types d’enregistrements de ressource utilisés
pour résoudre des noms :
Exemple
09
5
‐
DNS ( Domain Name System) 2/2
• Le client DNS (DNS Resolver) s’exécute en tant que service lui-même
• Il prend en charge la résolution de noms pour nos autres applications réseau et
pour les autres services.
• Responsable du lancement automatique de requêtes de résolution de nom; au
besoin, et traite la réponse fournie par le serveur DNS.
10
DHCP ( Dynamic Host Configuration Protocol ) 1/4
11
6
‐
DHCP ( Dynamic Host Configuration Protocol ) 2/4
12
DHCP ( Dynamic Host Configuration Protocol ) 3/4
13
7
‐
DHCP ( Dynamic Host Configuration Protocol ) 4/4
14
Introduction HTTP
Le protocole HTTP (HyperText Transfer Protocol) est un protocole de
communication utilisé pour le transfert de données sur le Web. Il définit les
règles que les navigateurs et les serveurs doivent suivre pour échanger
des informations.
HTTP est, avec HTML et les URLs, une des trois inventions
fondamentales de Tim Berners-Lee pour créer le World Wide Web. Conçu
au début des années 1990, HTTP est un protocole extensible qui a évolué
au cours du temps.
15
8
‐
Versions de HTTP
Il existe plusieurs versions du protocole HTTP :
HTTP/1.0 : Première version largement adoptée, où chaque requête nécessite
une nouvelle connexion.
HTTP/1.1 : Introduit la connexion persistante et l'utilisation efficace des
ressources réseau.
HTTP/2 : Améliore la vitesse et la gestion des requêtes multiples grâce au
multiplexage.
HTTP/3 : Utilise QUIC au lieu de TCP pour réduire la latence et améliorer la
sécurité.
16
Fonctionnement de HTTP
HTTP est un protocole basé sur un modèle client-serveur.
Cela signifie qu'un client (généralement un navigateur Web) envoie une
requête à un serveur, qui répond en envoyant la ressource demandée.
Client HTTP Serveur HTTP
17
9
‐
Requêtes HTTP
Une requête HTTP comprend plusieurs éléments :
La méthode : Indique l'action à effectuer (ex. : GET pour récupérer une
ressource, POST pour envoyer des données).
L'URL : Spécifie l'adresse de la ressource demandée.
Les en-têtes : Contiennent des informations supplémentaires (type de contenu,
format accepté, etc.).
Le corps (facultatif) : Présent dans certaines requêtes comme POST ou PUT, il
contient des données envoyées au serveur.
18
Méthodes des requêtes
GET Récupère une ressource sans la modifier.
POST Envoie des données au serveur pour créer une ressource.
PUT Remplace complètement une ressource existante ou la crée si elle
n'existe pas.
PATCH Modifie partiellement une ressource.
DELETE Supprime une ressource.
HEAD Récupère uniquement les en-têtes HTTP d'une ressource.
19
10
‐
Les entêtes requête HTTP
Host : Spécifie le nom de domaine du serveur cible (Host: [Link]-
[Link]).
User-Agent : Fournit des informations sur le client (navigateur, OS, etc.).
Accept : Indique les types de contenu que le client accepte (Accept:
text/html, application/json).
Accept-Language : Indique la langue préférée (Accept-Language: fr-FR).
Content-Type : Spécifie le format des données envoyées (application/json,
text/html).
Content-Length Indique la taille du corps de la requête (en octets).
20
Réponses HTTP
Une réponse HTTP comporte les éléments suivants :
Le code de statut : Indique le résultat de la requête (ex. : 200 OK, 404 Not
Found).
Les en-têtes : Fournissent des informations sur la réponse (type de contenu,
longueur, etc.).
Le corps : Contient la ressource demandée (page HTML, image, JSON, etc.).
21
11
‐
Le code de statut
1xx Information : La requête est en cours de traitement.
2xx Succès : La requête a été reçue et traitée avec succès.
3xx Redirection : Le client doit effectuer une autre action pour
compléter la requête.
4xx Erreur côté client : La requête contient une erreur.
5xx Erreur côté serveur : Le serveur n'a pas pu traiter la requête.
22
Exemple de code de statut
100 Continue : Le serveur a reçu les en-têtes et attend le corps de la
requête.
200 OK : La requête s'est bien déroulée et la réponse contient les données
demandées.
301 Moved Permanently : La ressource a été déplacée définitivement vers
une autre URL.
400 Bad Request : La requête est invalide ou mal formée.
500 Internal Server Error : Erreur générique du serveur.
23
12
‐
Les entêtes réponse HTTP
Server : Indique le logiciel du serveur web (Apache/2.4.41 (Ubuntu)).
Content-Type : Spécifie le type de contenu retourné (text/html, application/pdf).
Content-Length : Indique la taille du corps de la réponse (en octets).
Set-Cookie : Envoie un cookie au client pour la session utilisateur.
Etag : Un identifiant unique permettant de valider la mise en cache.
Cache-Control : Spécifie les directives de mise en cache.
Location : Indique une nouvelle URL pour la redirection.
24
Sécurité avec HTTPS
HTTPS (HyperText Transfer Protocol Secure) est une version sécurisée
de HTTP qui chiffre les échanges à l'aide du protocole TLS (Transport
Layer Security).
Il protège la confidentialité et l'intégrité des données échangées entre le
client et le serveur.
25
13
‐
Le pipelining HTTP
Le pipelining HTTP est une technique consistant à combiner plusieurs
requêtes HTTP dans une seule connexion TCP sans attendre les réponses
correspondant à chaque requête.
Client HTTP Serveur HTTP Client HTTP Serveur HTTP
No Pipelining Pipelining
26
Modes de connexions HTTP
Connexion non persistante ( HTTP / 1.0)
• Pour chaque requête, une connexion TCP est ouverte.
• Chaque connexion nécessite un RTT pour le handshake TCP.
• Plus il y a de requêtes, plus il y a de RTT, donc plus de latence.
Formule
T total =n×(2×RTT+T transmission )
Avec:
n = nombre d'objets (pages HTML, images, scripts...)
RTT = temps aller-retour (Round Trip Time)
Ttransmission= Taille de fichier / Débit de connexion
27
14
‐
Modes de connexions HTTP
Connexion persistante ( HTTP / 1.1, HTTP / 2.0)
• Elle consiste à utiliser une seule connexion TCP pour envoyer et
recevoir plusieurs requêtes/réponses HTTP, au lieu d'ouvrir une
nouvelle connexion pour chaque paire requête/réponse.
• Le handshake TCP n’est fait qu’une seule fois (gain de RTT).
Formule :
T total =2×RTT+T transmission total
Avec :
2×RTT pour établir la connexion et envoyer la première requête.
T transmission total pour transmettre tous les objets via la même connexion.
28
Pour vos questions, contactez
[Link]@[Link]
15