Le protocole HTTP 1.0, décrit dans le RFC 1945, prévoit l'utilisation d'en-têtes inspirés de MIME. La gestion de la connexion reste identique à HTTP 0.9 : le client établit la connexion, envoie une requête, le serveur répond et ferme immédiatement la connexion.
Une requête HTTP présente le format suivant :
Ligne de commande (Commande, URL, Version de protocole) En-tête de requête [Ligne vide] Corps de requête
Les réponses HTTP présentent le format suivant :
Ligne de statut (Version, Code-réponse, Texte-réponse) En-tête de réponse [Ligne vide] Corps de réponse
Requête :
GET /page.html HTTP/1.0 Host: example.com Referer: http://example.com/ User-Agent: CERN-LineMode/2.15 libwww/2.17b3
La version du protocole HTTP est précisée suite à l'URI. La requête doit être terminée par un double retour à la ligne (CRLFCRLF). HTTP 1.0 supporte aussi les méthodes HEAD et POST. On constate l'usage d'en-têtes inspirés de MIME pour transférer les méta-données :
Host
Referer
User-Agent
Réponse :
HTTP/1.0 200 OK Date: Fri, 31 Dec 1999 23:59:59 GMT Server: Apache/0.8.4 Content-Type: text/html Content-Length: 59 Expires: Sat, 01 Jan 2000 00:59:59 GMT Last-modified: Fri, 09 Aug 1996 14:21:40 GMTExemple Ceci est une page d'exemple.
La première ligne donne le code de statut HTTP (200 dans ce cas).
Date
Server
Content-Length
Content-Type
Expires
Last-Modified
HTTPS (avec S pour secured, soit « sécurisé ») est la simple combinaison de HTTP avec une couche de chiffrement comme SSL ou TLS.
Il permet au visiteur de vérifier l'identité du site auquel il accède grâce à un certificat d'authentification. Il garantit la confidentialité et l'intégrité des données envoyées par l'utilisateur (notamment des informations entrées dans les formulaires) et reçues du serveur.
Il est généralement utilisé pour les transactions financières en ligne : commerce électronique, banque en ligne, courtage en ligne, etc. Il est aussi utilisé pour la consultation de données privées, comme les courriers électroniques par exemple.
Par défaut, les serveurs HTTPS sont connectés au port TCP 443.
La sécurité des informations transmises par HTTPS est basée sur l'utilisation d'un algorithme de chiffrement et de l'éventuel certificat d'authentification.
Partant du principe que les internautes précisent rarement le type de protocole dans les URLs (le protocole HTTP étant sélectionné par défaut) et se contentent de suivre des liens, un chercheur en sécurité informatique a développé une attaque du type man in the middle afin de contourner le chiffrement de HTTPS. Le pirate se positionne entre le client et le serveur et change les liens https: en http:, ainsi le client envoie ses informations en clair via le protocole HTTP et non HTTPS. Ce type d'attaque a été présenté par Moxie Marlinspike à la Blackhat Conference 2009. Durant cette conférence il a non seulement présenté le fonctionnement de l'attaque mais également quelques statistiques d'utilisation. Il a réussi à récupérer plusieurs centaines d'identifiants, informations personnelles et numéros de cartes bancaires en 24 heures, personne ne s'est douté de l'attaque en cours.