Les codes d’état HTTP qui commencent par 1xx
sont des réponses informatives. Ces codes indiquent que la requête a été reçue et que le processus est en cours. Voici une liste des codes HTTP 1xx
et leurs significations :
Code HTTP 100 Continue
Le code HTTP 100, connu sous le nom de « 100 Continue », est une réponse provisoire utilisée pour informer le client que tout jusqu’à présent est OK et que le client doit continuer avec la requête ou ignorer la réponse s’il a déjà terminé.
Dans le contexte d’un processus de requête HTTP, cela fonctionne généralement comme ceci :
Un client envoie une requête HTTP à un serveur avec un entête Expect: 100-continue. Cet entête informe le serveur que le client s’attend à recevoir un code 100 Continue avant d’envoyer le corps de la requête.
Si le serveur est en mesure de traiter l’entête de la requête (par exemple, si les entêtes sont valides et que le serveur est prêt à recevoir le corps de la requête), il répond avec un statut 100 Continue.
Après avoir reçu la réponse 100 Continue, le client peut continuer à envoyer le corps de la requête.
Cela permet au serveur d’indiquer au client qu’il est prêt à recevoir le corps de la requête. Cela permet également au client de s’abstenir d’envoyer le corps de la requête si le serveur n’est pas en mesure de traiter la requête pour une quelconque raison (par exemple, si les entêtes sont invalides). Cette démarche peut économiser de la bande passante en évitant l’envoi inutile de gros corps de requête.
Code HTTP 101 Switching Protocols
Le code HTTP 101, intitulé « Switching Protocols », est une réponse du serveur indiquant qu’il est en train de changer de protocoles comme demandé par le client. Ce code est utilisé lorsque le client demande une mise à niveau du protocole via l’en-tête Upgrade dans la requête HTTP, et le serveur accepte cette demande de changement.
Par exemple, ce code peut être utilisé pour indiquer le passage d’une connexion HTTP à une connexion WebSocket. Dans ce cas, une requête initiale peut ressembler à ceci :
GET /socket-endpoint HTTP/1.1
Host: example.com
Upgrade: websocket
Connection: Upgrade
Si le serveur prend en charge les WebSockets et accepte la mise à niveau du protocole, il peut répondre avec un code 101, comme ceci :
HTTP/1.1 101 Switching Protocols
Upgrade: websocket
Connection: Upgrade
Après cela, la connexion sera considérée comme une connexion WebSocket et les communications suivantes suivront le protocole WebSocket, au lieu du protocole HTTP traditionnel.
Code HTTP 102 Processing
Le code HTTP 102 (Processing) est un code de statut HTTP qui indique que le serveur a reçu la requête du client, mais n’a pas encore fini de la traiter. Ce code est généralement utilisé pour indiquer qu’une action est en cours, et pour éviter que le client ne pense que la requête a été perdue ou bloquée.
Voici quelques points supplémentaires à propos du code 102 :
- Ce code a été défini dans la RFC 2518, qui est devenue obsolète et a été remplacée par la RFC 4918. Cependant, le code 102 n’est pas inclus dans la RFC 4918, donc son utilisation n’est pas officiellement standardisée dans le cadre de HTTP/1.1. Il est plutôt utilisé dans le cadre de l’extension WebDAV de HTTP.
- Bien que ce ne soit pas couramment utilisé, certains serveurs et applications peuvent toujours implémenter ce code pour signaler une action en cours.
- Ce code peut être utilisé pour prévenir un dépassement de délai (timeout) lors de l’exécution d’une requête qui prend beaucoup de temps à compléter.
- Les clients qui reçoivent ce code devraient continuer à attendre une réponse finale.
- Un client qui supporte le code 102 peut recevoir ce code en réponse à une requête et devrait alors s’attendre à recevoir une autre réponse une fois que le traitement est terminé.
Pour utiliser ou traiter ce code, il faudrait consulter la documentation spécifique de l’API ou du serveur que vous utilisez, car il pourrait ne pas être implémenté ou traité partout de la même manière.
Code HTTP 103 Early Hints
Le code d’état HTTP 103 Early Hints est une réponse standard HTTP qui a été introduite avec la RFC 8297. Ce code est utilisé pour indiquer que le serveur est en train de préparer une réponse et qu’il commence à envoyer certaines parties des en-têtes à l’avance, souvent pendant qu’il calcule le reste de la réponse.
Cette réponse permet aux clients de commencer à précharger les ressources (par exemple, les feuilles de style, les scripts, les images, etc.) mentionnées dans les en-têtes de réponse avant même que le corps de la réponse ne soit complètement généré. En permettant le préchargement des ressources, il peut contribuer à améliorer les performances du site web en réduisant les temps de chargement.
Voici un exemple de la manière dont un code 103 Early Hints pourrait être utilisé dans un en-tête HTTP :
HTTP/1.1 103 Early Hints
Link: ; rel=preload; as=style
Link: ; rel=preload; as=script
… (la réponse complète suivra)
Dans cet exemple, le serveur envoie un code d’état 103 avec des liens vers une feuille de style et un script, indiquant au navigateur qu’il devrait commencer à les charger avant même que le reste de la réponse ne soit reçu.