Outils pour utilisateurs

Outils du site


doc:web:http

Table des matières

Introduction

HTTP s'attache à envoyer et à répondre à des requêtes.

Une requête sur Internet s'envoie avec un message qui contient simultanément l'en-tête (header) et le corps du message (payload). La séparation entre les deux est effectuée par une ligne vide.

Exemple

Envoie d'une requête GET à l'adresse google.fr

$ curl -v --raw google.fr

Application du DNS sur google.fr

* Rebuilt URL to: google.fr/
*   Trying 173.194.76.94...
* TCP_NODELAY set
* Connected to google.fr (173.194.76.94) port 80 (#0)

Requête envoyée par curl. On constate que une ligne vide en fin de l'envoie, c'est la ligne vide qui sépare l'en-tête et le corps de la requête. Ici, seul l'en-tête est nécessaire pour faire la demande. Les caractères > sont ajoutées par curl pour des raisons de lisibilité de l'en-tête.

> GET / HTTP/1.1
> Host: google.fr
> User-Agent: curl/7.51.0
> Accept: */*
> 

Réponse envoyée par google.fr.

< HTTP/1.1 301 Moved Permanently
< Location: http://www.google.fr/
< Content-Type: text/html; charset=UTF-8
< Date: Sat, 07 Jan 2017 14:09:50 GMT
< Expires: Mon, 06 Feb 2017 14:09:50 GMT
< Cache-Control: public, max-age=2592000
< Server: gws
< Content-Length: 218
< X-XSS-Protection: 1; mode=block
< X-Frame-Options: SAMEORIGIN
< 
<HTML><HEAD><meta http-equiv="content-type" content="text/html;charset=utf-8">
<TITLE>301 Moved</TITLE></HEAD><BODY>
<H1>301 Moved</H1>
The document has moved
<A HREF="http://www.google.fr/">here</A>.
</BODY></HTML>

Information de débogage de curl :

* Curl_http_done: called premature == 0
* Connection #0 to host google.fr left intact

HTTP status

CodeDomaine de validité
1xxInformation
2xxSuccès
3xxRedirection
4xxErreur client
5xxErreur serveur

Voir aussi Status, Archive

doc/web/http.txt · Dernière modification : 2017/08/22 15:37 de root