Définition HTTP

videoimg

Définition HTTP

403 lecteurs
Sommaire de l'article

Protocole de transfert hypertexte (HTTP)

Le protocole de transport hypertexte (HTTP) est un protocole de demande de texte à réponse de serveur. Un client HTTP (par exemple, un navigateur Web, tel que Mozilla) envoie une requête HTTP à un serveur HTTP (par exemple, le serveur HTTP Apache), puis envoie une réponse HTTP. L’en-tête du protocole HTTP est basé sur le texte. Les en-têtes sont écrits dans des lignes de texte.

Le protocole HTTP/1.1 autorise les connexions en pipeline entre le client et le serveur, ce qui permet d’effectuer de nombreuses requêtes (souvent dans le même fichier) sans attendre de réponse du serveur. La seule limitation est que le serveur doit livrer les réponses dans l’ordre exact où elles sont arrivées. Cela garantit une plus grande efficacité, notamment lorsqu’une revalidation est nécessaire.

On peut également trouver une version sécurisée connue sous le nom de HTTPS. Elle est généralement utilisée lorsque la sécurité des données est requise, comme pour les opérations bancaires en ligne. Le protocole HTTPS est en fait deux protocoles fonctionnant en tandem. Il s’agit du premier protocole lié à la sécurité comme SSL, TLS ou PCT. L’autre protocole qui se situe au sommet du protocole de sécurité est le HTTP. Les URL qui commencent par https:// sont simplement une forme abrégée pour l’utilisateur. Le navigateur interprète le schéma URI (https ://), initie le protocole de sécurité vers le serveur ; une fois la connexion sécurisée établie, il envoie une requête HTTP en utilisant l’URI fournie dans la requête.

Historique

Le protocole de transfert hypertexte (HTTP) a été développé au CERN à Genève, en Suisse, où il a été mis au point (avec le langage de présentation HTML) en raison de la nécessité de partager des données scientifiques via des ordinateurs de manière simple. La première version de la mise en œuvre publique de HTTP ne permettait que l’échange de données en texte brut et a rapidement remplacé le système GOPHER. Le premier navigateur qui s’appuyait sur le texte était LYNX, qui est toujours utilisé à l’heure actuelle. Un client HTTP graphique est apparu peu après, sous le nom de NCSA Mosaic. En 1994, Mosaic était un navigateur très apprécié. Le besoin d’une meilleure expérience multimédia est apparu et le balisage a pu prendre en charge un nombre croissant de types de médias.

Voir Aussi  Comment se former au montage vidéo ?

La prise en charge d’une variété de formats de médias était un élément de la norme informelle HTTP/1.0 qui a été publiée sous la forme de la RFC1945, en 1996. L’utilisation du protocole HTTP s’étant développée à une vitesse étonnante, et la communauté ayant acquis de l’expérience en travaillant avec ce protocole et en interagissant avec des experts, la nécessité d’une définition officielle du protocole HTTP est apparue évidente. HTTP/1.1 a donc été publié pour la première fois sous la forme de la RFC2068, en janvier 1997, puis de la RFC2616, en juin 1999.

Dépendances du protocole

MIME_multipart HTTP utilise MIME_multipart pour le cryptage des messages.

TCP En général, HTTP utilise TCP comme protocole de transport. Le port TCP le plus connu utilisé pour le trafic HTTP est le port. Un proxy HTTP utilise généralement un port différent ; les valeurs les plus courantes sont 81, 3128, 8000 et 8080. Mais, HTTP peut également utiliser d’autres protocoles de transport.

Exemple de trafic

Une demande faite par le navigateur d’un utilisateur final

Cet utilisateur veut accéder au site web « www.freebsd.org », il doit donc taper http://www.freebsd.org dans son navigateur et appuyer sur « Entrée ». Après la résolution DNS normale pour localiser l’adresse IP de www.freebsd.org, une connexion est établie par TCP avec le serveur web (SYN SYN,ACK ; AACK). Le client/navigateur envoie la requête en texte brut au serveur

GET/ HTTP/1.1 Host : www.freebsd.org
User-Agent : Mozilla/5.0 (Windows ; U ; Windows NT 5.1 ; en-US ; rv :1.7.7), gecko/20050414 Firefox/1.0.3
Accepter : text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5
Langue acceptée : en-us,en;q=0.5
Encodage accepté : gzip,deflate
Jeu de caractères accepté : ISO-8859-1,utf-8;q=0.7,*;q=0.7
Maintien en vie : 300
Connexion : Maintien en vie
Si Modifié-Depuis : Mon 9 mai 2005 à 21 :01 :30 GMT
If-None-Match :  » 26f731-8287-427fcfaa  »
Le serveur sait que le client/navigateur a terminé son travail lorsqu’il reçoit une ligne vide avec un retour chariot plus un saut de ligne (rn).

Voir Aussi  Abeille Assurances : se connecter à mon espace personnel client

Réponse du serveur

La réponse est en texte clair :

HTTP/1.1 200 OK
Date : Fri, 13 May 2005 at 05 :51 :12 GMT
Server : Apache/1.3.x LaHonda (Unix)
Dernière modification : Fri 13 May 2005 05 :25 :02 GMT
ETag :  » 26f725-8286-42843a2e  »
Gammes d’acceptation : octets
Content-Length : 33414
Keep-Alive : timeout=15, max=100
Connexion : Keep-Alive
Content type : text/html
Le navigateur/client a maintenant réalisé que le text/html allait arriver, et il est là :

! DOCTYPE html PUBLIC « -//W3C//DTD XHTML 1.0 Transitional//EN »
« http://www.w3.org/TR/x/DTD/x-transitional.dtd « >


Le navigateur/client sait que le serveur a terminé d’envoyer son HTML (ou des informations pour tout autre format) lorsqu’il voit une ligne vide avec un saut de ligne + un retour chariot (rn).

4.7/5 - (21 votes)
Marine
Marine

Passionnée par l'entreprenariat depuis plus de 10 ans, je suis à la tête d'une société française visant à favoriser la communication des entreprises. Également attiré par la finance, je partage mes conseils et expériences au travers mes articles de blog.

Retour en haut