| Home |
|---|
Hyper-Text Transfer Protocol : protocole de transfert d'hyper-texte.
Définir un protocole réseau standard pour l'échange de documents sur le Web (pages HTML).
HTTP est un protocole de l'Internet, basé sur TCP/IP :
| Session | HTTP |
|---|---|
| Transport | |
| Réseau |
Une trame HTTP est échangée entre un client HTTP (navigateur Web) et un serveur HTTP (serveur Web).
Elle est constituée de :
Le serveur répond un code HTTP.
| Version | 1 | Caractéristiques standard | ||
|---|---|---|---|---|
| Release | 0 | 1 | ||
| RFC | 1949 | 2068 | ||
| Technologie | Année | 1996 | 1997 | |
| Méthodes | Récupération | GET |
||
| Envoi | POST |
Envoi des données d'un formulaire typiquement | ||
| En-tête | HEAD |
Obtenir les infos d'en-tête (HEADer) d'un fichier | ||
| Placement | Non | PUT |
Envoyer un fichier (upload) | |
| Suppression | Non | DELETE |
Supprimer un fichier (rarement autorisé, voire implémenté par les serveur Web) | |
| Options | Non | OPTIONS |
||
| Mise à jour | Non | UPGRADE |
||
| Trace | Non | TRACE |
||
| En-tête | Type MIME du contenu | Content-type |
||
| Longueur du contenu | Content-length |
Longueur du contenu (en octets) après l'en-tête | ||
| Langue supportée | Accept-language |
FR/fr, FR/be, EN/uk, EN/us, etc. |
||
| Dernière modification | Last-Modified |
Cache | ||
| If-Modified-Since | Oui | Utilisé avec Last-Modified | ||
| If-Unmodified-Since | Oui | Utilisé avec Last-Modified | ||
| Host | Non | Oui | Machine appelée. Permet aux ISP de faire du cache | |
| Range | Non | Oui | Permet aux clients de demander une range | |
| Content-Range | Non | Oui | Spécifie si une entité partielle doit être insérée | |
| If-Range | Non | Oui | Si l'entité est inchangée, retourner la(les) partie(s) que j'ai manquées, sinon retourner la nouvelle entité entière | |
| Etag | Non | Oui | Cache : Validateurs opaques (choisis par le serveur) | |
| If-Match | Non | Oui | Utilisé avec Etag | |
| If-None-Match | Non | Oui | Utilisé avec Etag | |
| Cache-Control | Non | Oui | Contrôle de ce qui est caché (public, private, no-cache), ce qui peut être stocké (no-store), le mécanisme d'expiration (max-age, min-fresh, max-stale) et must-revalidate, proxy-revalidate, no-transform | |
| Connection | Non | Oui | Permet au serveur d'indiquer que la connexion va être fermée (Connection: close) | |
| Expires | Oui | Date et heure après laquelle le document doit être considéré comme expiré | ||
| Keep-Alive | Ne fonctionne pas bien avec les proxy chaînés | |||
| Via | Non | Oui | Utilisé avec TRACE | |
| Max-Forwards | Non | Oui | Utilisé avec TRACE | |
| Upgrade | Non | Oui | Changement de protocole sur une connexion ouverte | |
| Proxy-authenticate | Non | Oui | Authentification des caches de proxies | |
| Proxy-Authorization | Non | Oui | Authentification des caches de proxies | |
| Content-MD5 | Non | Oui | Vérification du test d'intégrité de condensé de message MD5 | |
| Content-Transfer-Encoding | Non | Oui | Compression de bond en bond des entités | |
| Vary | Non | Oui | Indique quelles dimensions de la réponse varie | |
| Alternates | Non | Oui | Négotiation future de contenu : quelles sont les représentations alternatives possibles | |
| Refresh: n;URL="uneURL" | Recharge une URL au bout de n secondes. | |||
| Age | Non | Oui | Le temps que la réponse a passé dans les caches sur le chemin réseau | |
| Code de retour | Ok | 200 | Page trouvée | |
| Contenu partiel | 206 | Le serveur n'a pu répondre qu'en partie à la requête | ||
| Déplacé temporairement | 302 | L'URL pour la ressource demandée est correcte, mais l'objet est temporairement ailleurs. De futures requêtes fonctionneront. |
||
| Non modifié | 304 | Indique au client Web que le rechargement de la page n'est pas nécessaire | ||
| Non autorisé | 401 | Authentification requise | ||
| Interdit | 403 | La requête est comprise mais l'accès n'est pas autorisé (étant donné les droits déduits de l'authentification) | ||
| Non trouvé | 404 | Page non trouvée | ||
| Méthode non autorisée | 405 | Resource demandée via une méthode non autorisée | ||
| Erreur interne du serveur | 500 | Erreur inatendue ayant empêché de servir la requête. Toutes les erreurs de modules annexes (Servlet/JSP, CGI, etc.) du serveur provoquent cette erreur. | ||
| Service indisponible | 503 | Serveur temporairement surchargé | ||
| Authentification | Basic | Oui | Pop-up navigateur, mot de passe en clair | |
| Digest | Non | Oui | Remplacement de Basic authentication (hâchage) | |
Un exemple de requête HTTP 1.1 est :
POSTjavarome/search.html
Content-type: application-ext/form-data
Content-length: 40
Accept-language: FR/fr, EN/uk
query=HTTP&query=protocol&result=display
| Home |
|---|