Les requêtes HTTP et HTTPS¶
Cours¶
Pour communiquer, le client (le navigateur) et le serveur utilisent le protocole HTTP (HyperText Transfer Protocol) ou sa version sécurisée HTTPS.
A. Exemples de requêtes utilisées¶
- Exemple de requête du client :
GET index.html HTTP/1.1
Host : www.example.com
Que demande le navigateur ?
Il demande à accéder à la page dont l'URL est http://www.example.com/index.html.
- Exemple de réponse du serveur :
HTTP/1.1 200 OK
Date : Tue, 2 Mar 2021 08:00:00 GMT
Content-Type : text/html ; charset=UTF-8
Content-length : 983
Last-Modified : Wed, 1 Jan 2005 00:00:00 GMT
<html>
<head><title>Une page de test</title></head>
<body>Un document très simple.</body>
</html>
Que renvoie le serveur ?
Il renvoie le code HTML de la page, ainsi que des informations complémentaires contenues dans l'entête de la réponse : par exemple la date d'envoi, le type et la longueur du contenu, la date de sa dernière modification.
B. Les différentes méthodes¶
Le GET est une méthode : une demande au serveur d'effectuer une certaine action. Dans notre cas, d'accéder à une ressource. On peut demander différentes actions au serveur :
- POST permet d'envoyer des données au serveur, pour qu'il les traite.
- PUT permet de modifier des données sur le serveur,
- DELETE permet de supprimer des données sur le serveur.
Exemple de l'envoi d'un formulaire
A partir des pages https://www.cahier-nsi.fr/formulaire1/ et /formulaire2/, récupérant les informations suivantes :

- On peut envoyer des données avec la méthode GET. Cependant, celle-ci est à la base faite pour en récupérer (elle n'a pas de contenu !).
Où les données transmises apparaissent-elles alors ?
Elles apparaissent dans l'URL.
- On envoie classiquement des données avec la méthode POST. Cette requête a un contenu, qui peut stocker ces données.
Sont-elles accessibles ?
Elles n'apparaissent pas dans l'URL, mais sont lisibles dans l'inspecteur de propriétés du navigateur.
B. Le protocole HTTPS¶
HTTPS est la version sécurisée de HTTP.
Comment remarque-t-on si la connexion avec un serveur web est sécurisée ?
On le remarque grâce au nom du protocole HTTPS indiqué dans l'URL, et à l'apparition d'un cadenas dans le navigateur.
Voici ce qu'il se passe lorsque l'on utilise HTTPS :
sequenceDiagram
participant c as Client
participant s as Serveur
c->>s: Je voudrais me connecter de manière sécurisée.
s->>c: D'accord, je vous envoie mon certificat SSL.
c->>s: Ca me va, communiquons de manière chiffrée.
s->>c: C'est parti, maintenant que vous pouvez être sûr que c'est bien moi.
Qu'est-ce qu'une communication chiffrée ?
C'est une communication dont le contenu n'est pas immédiatement déchiffrable : il faut une information supplémentaire pour le comprendre, appelée la clé de chiffrement.