RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 Groupe de travail Résea
RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 Groupe de travail Réseau R. Fielding, UC Irvine Request for Comments : 2616 J. Gettys, Compaq/W3C RFC rendue obsolète : 2068 J. Mogul, Compaq Catégorie : En cours de normalisation juin 1999 H. Frystyk, W3C/MIT L. Masinter, Xerox Traduction Claude Brière de L’Isle mars 2007 P. Leach, Microsoft T. Berners-Lee, W3C/MIT Protocole de transfert Hypertexte -- HTTP/1.1 Statut de ce mémo Le présent document spécifie un protocole de normalisation Internet pour la communauté de l'Internet, qui appelle à la discussion et à des suggestions pour son amélioration. Prière de se reporter à l'édition en cours des "Normes de protocole officielles de l'Internet" (STD 1) sur l'état de la normalisation et le statut de ce protocole. La distribution du présent mémo n'est soumise à aucune restriction. Notice de Copyright Copyright (C) The Internet Society (1999), Tous droits réservés. Résumé Le protocole de transfert hypertexte (HTTP, Hypertext Transfer Protocol) est un protocole de niveau application pour les systèmes d’information hypermédia distribués collaboratifs. C’est un protocole générique, sans états, qui peut être utilisé pour de nombreuses tâches autres que l’hypertexte, telles que les systèmes de gestion de serveurs de noms et d’objets distribués, à travers l’extension de ses méthodes de demande, ses codes d’erreur et ses en-têtes [47]. Une caractéristique de HTTP est l’identification et la négociation de représentations de données, permettant aux systèmes d’être construits indépendamment des données à transférer. HTTP a été utilisé par l’initiative d’informations mondiales du World-Wide Web depuis 1990. La présente spécification définit le protocole désigné sous le nom de "HTTP/1.1", qui est une mise à jour de la RFC 2068 [33]. Table des matières 1 Introduction......................................................................................................................................................... 4 1.1 Objet............................................................................................................................................................ 4 1.2 Exigences.................................................................................................................................................... 4 1.3 Terminologie................................................................................................................................................ 4 1.4 Fonctionnement global................................................................................................................................7 2 Conventions de notation et grammaire générique..............................................................................................8 2.1 BNF augmenté............................................................................................................................................ 8 2.2 Règles de base............................................................................................................................................9 3 Paramètres de protocole...................................................................................................................................10 3.1 Version HTTP............................................................................................................................................ 10 3.2 Identifiants universels de ressource...........................................................................................................11 3.3 Formats de date/heure..............................................................................................................................12 3.4 Jeux de caractères...................................................................................................................................13 3.5 Codages de contenu.................................................................................................................................14 3.6 Codages de transferts..............................................................................................................................14 3.7 Types de support......................................................................................................................................16 3.8 Jetons product..........................................................................................................................................17 3.9 Valeurs de qualité.....................................................................................................................................17 3.10 Étiquettes de langage.............................................................................................................................18 3.11 Étiquettes d’entité...................................................................................................................................18 3.12 Unités de gamme....................................................................................................................................18 4 Message HTTP................................................................................................................................................ 19 4.1 Types de message....................................................................................................................................19 4.2 En-têtes de message................................................................................................................................19 4.3 Corps de message....................................................................................................................................20 Page 1/110 RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 4.4 Longueur de message..............................................................................................................................20 4.5 Champs d’en-tête généraux.....................................................................................................................21 5 Request........................................................................................................................................................... 22 5.1 Request-Line............................................................................................................................................ 22 5.2 Ressource identifiée par une demande.....................................................................................................23 5.3 Champs d’en-tête de demande................................................................................................................24 6 Réponse.......................................................................................................................................................... 24 6.1 Status-Line................................................................................................................................................ 24 6.2 Champs d’en-tête de réponse..................................................................................................................26 7 Entité................................................................................................................................................................ 26 7.1 Champs d’en-tête d’entité.........................................................................................................................26 7.2 Corps d’entité........................................................................................................................................... 27 8 Connexions...................................................................................................................................................... 27 8.1 Connexions persistantes..........................................................................................................................27 8.2 Exigences pour la transmission de message............................................................................................30 9 Définitions des méthodes.................................................................................................................................31 9.1 Méthodes sûres et idempotentes..............................................................................................................32 9.2 OPTIONS................................................................................................................................................. 32 9.3 GET.......................................................................................................................................................... 33 9.4 HEAD........................................................................................................................................................ 33 9.5 POST........................................................................................................................................................ 34 9.6 PUT.......................................................................................................................................................... 34 9.7 DELETE.................................................................................................................................................... 35 9.8 TRACE..................................................................................................................................................... 35 9.9 CONNECT................................................................................................................................................ 35 10 Définitions des codes d’état...........................................................................................................................35 10.1 Informations 1xx.....................................................................................................................................36 10.2 Réussite 2xx........................................................................................................................................... 36 10.3 Redirection 3xx.......................................................................................................................................38 10.4 Erreur client 4xx......................................................................................................................................40 10.5 Erreur du serveur 5xx.............................................................................................................................44 11 Authentification d'accès..................................................................................................................................44 12 Négociation du contenu.................................................................................................................................45 12.1 Négociation conduite par le serveur.......................................................................................................45 12.2 Négociation conduite par l'agent.............................................................................................................46 12.3 Négociation transparente........................................................................................................................46 13 Mise en antémémoire dans HTTP.................................................................................................................46 13.2 Modèle d'expiration.................................................................................................................................50 13.3 Modèle de validation...............................................................................................................................53 13.4 Conditions de mise en antémémoire de la réponse................................................................................57 13.5 Construction des réponses à partir des antémémoires...........................................................................57 13.6 Mise en antémémoire des réponses négociées.....................................................................................59 13.7 Antémémoires partagées et non partagées............................................................................................60 13.8 Comportement de l'antémémoire en cas d'erreur ou de réponse incomplète.........................................60 13.9 Effets collatéraux de GET et HEAD........................................................................................................61 13.10 Invalidation après mise à jour ou suppression......................................................................................61 13.11 Écriture en transfert obligatoire.............................................................................................................61 13.12 Remplacement d'antémémoire.............................................................................................................62 13.13 Listes d'historique.................................................................................................................................62 14 Définitions des champs d’en-tête...................................................................................................................62 14.1 Accept..................................................................................................................................................... 62 14.2 Accept-Charset.......................................................................................................................................64 14.3 Accept-Encoding.....................................................................................................................................64 14.4 Accept-Language....................................................................................................................................65 14.5 Accept-Ranges.......................................................................................................................................66 14.6 Age......................................................................................................................................................... 66 14.7 Allow....................................................................................................................................................... 66 14.8 Authorization........................................................................................................................................... 67 14.9 Cache-Control........................................................................................................................................67 14.10 Connection........................................................................................................................................... 73 14.11 Content-Encoding.................................................................................................................................74 14.12 Content-Language...............................................................................................................................74 Page 2/110 RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 14.13 Content-Length....................................................................................................................................75 14.14 Content-Location...................................................................................................................................75 14.15 Content-MD5.......................................................................................................................................76 14.16 Content-Range....................................................................................................................................76 14.17 Content-Type.......................................................................................................................................78 14.18 Date..................................................................................................................................................... 78 14.19 ETag.................................................................................................................................................... 79 14.20 Expect.................................................................................................................................................. 79 14.21 Expires................................................................................................................................................... 79 14.22 From.................................................................................................................................................... 80 14.23 Host..................................................................................................................................................... 80 14.24 If-Match................................................................................................................................................ 81 14.25 If-Modified-Since..................................................................................................................................82 14.26 If-None-Match......................................................................................................................................83 14.27 If-Range............................................................................................................................................... 84 14.28 If-Unmodified-Since.............................................................................................................................84 14.29 Last-Modified.........................................................................................................................................84 14.30 Location............................................................................................................................................... 85 14.31 Max-Forwards......................................................................................................................................85 14.32 Pragma................................................................................................................................................ 85 14.33 Proxy-Authenticate..............................................................................................................................86 14.34 Proxy-Authorization.............................................................................................................................86 14.35 Gamme.................................................................................................................................................. 87 14.36 Referer................................................................................................................................................. 88 14.37 Retry-After............................................................................................................................................. 88 14.38 Server.................................................................................................................................................. 89 14.39 TE........................................................................................................................................................ 89 14.40 Trailer.................................................................................................................................................... 90 14.41 Transfer-Encoding................................................................................................................................90 14.42 Upgrade................................................................................................................................................ 90 14.43 User-Agent........................................................................................................................................... 91 14.44 Vary...................................................................................................................................................... 91 14.45 Via........................................................................................................................................................ 92 14.46 Warning................................................................................................................................................ 93 14.47 WWW-Authenticate..............................................................................................................................94 15 Considérations sur la sécurité........................................................................................................................95 15.1 Informations personnelles.......................................................................................................................95 15.2 Attaques fondées sur les noms de fichier et de voie...............................................................................97 15.3 Usurpation de DNS.................................................................................................................................97 15.4 En-tête de localisation et usurpation.......................................................................................................97 15.5 Problèmes posés par Content-Disposition..............................................................................................97 15.6 Accréditifs d’authentification et clients inactifs........................................................................................98 15.7 Mandataires et mise en antémémoire.....................................................................................................98 16 Remerciements.............................................................................................................................................. 99 17 Références.................................................................................................................................................... 99 18 Adresse des auteurs....................................................................................................................................102 19 Appendices.................................................................................................................................................. 103 19.1 Type de support Internet message/http et application/http...................................................................103 19.2 Type de support Internet multipart/byteranges......................................................................................103 19.3 Applications tolérantes..........................................................................................................................104 19.4 Différences entre entités HTTP et entités de la RFC 2045...................................................................104 19.5 Caractéristiques supplémentaires........................................................................................................106 19.6 Compatibilité avec les versions précédentes........................................................................................107 20 Index............................................................................................................................................................. 110 21 Déclaration de droits de reproduction...........................................................................................................110 Page 3/110 RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 1 Introduction 1.1 Objet Le protocole de transfert hypertexte (HTTP, Hypertext Transfer Protocol) est un protocole de niveau application pour les systèmes d’information multimédia distribués et collaboratifs. HTTP a été utilisé par l’initiative mondiale d’informations de la Toile (World-Wide Web) depuis 1990. La première version de HTTP, portant la référence HTTP/0.9, était un simple protocole pour le transfert de données brutes sur l’Internet. HTTP/1.0, tel que défini par la RFC 1945 [6], améliorait le protocole en permettant que les messages soient au format de messages du style MIME, contenant des méta informations sur les données transférées et des modificateurs de la sémantique des demandes/réponses. Cependant, HTTP/1.0 ne prenait pas suffisamment en considération les effets des mandataires hiérarchiques, de la mise en antémémoire, du besoin de connexions permanentes, ou des hôtes virtuels. De plus, la prolifération d’applications incomplètement mises en œuvre s’intitulant elles- mêmes "HTTP/1.0" a nécessité le changement de la version du protocole afin que deux applications communicantes déterminent chacune les vraies capacités de l’autre. La présente spécification définit le protocole connu sous le nom de "HTTP/1.1". Ce protocole inclut des exigences plus strictes que HTTP/1.0 afin d’assurer une mise en œuvre fiable de ses caractéristiques. Les systèmes d’informations pratiques exigent plus de fonctionnalités que la simple restitution, y compris la recherche, la mise à jour de l’extrémité frontale, et l’annotation. HTTP permet un ensemble ouvert de méthodes et d’en-têtes qui indiquent l’objet d’une demande [47]. Il se construit sur une discipline de références fournies par l’identifiant universel de ressource (URI) [3], comme une localisation (URL) [4] ou un nom (URN) [20], pour indiquer la ressource à laquelle une méthode est à appliquer. Les messages sont passés dans un format similaire à celui utilisé par la messagerie Internet [9] comme défini par les extensions multi-objets de messagerie Internet (MIME, Multipurpose Internet Mail Extensions) [7]. HTTP est aussi utilisé comme protocole générique pour les communications entre agents d’utilisateur et mandataires/passerelles vers d’autres systèmes Internet, y compris ceux pris en charge par les protocoles SMTP [16], NNTP [13], FTP [18], Gopher [2], et WAIS [10]. De cette façon, HTTP permet un accès hypermédia de base aux ressources disponibles à partir d’applications diverses. 1.2 Exigences Les mots clé "DOIT", "NE DOIT PAS", "EXIGÉ", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDÉ", "PEUT", et "FACULTATIF" dans le présent document sont à interpréter comme décrit dans le BCP 14 [RFC2119] [34]. Une mise en œuvre n’est pas conforme si elle échoue à satisfaire une ou plusieurs exigences de niveau DOIT ou EXIGÉ pour les protocoles qu’elle met en œuvre. Une mise en œuvre qui satisfait toutes les exigences de niveau DOIT ou EXIGÉ et toutes les exigences de niveau DEVRAIT pour ses protocoles est dite "inconditionnellement conforme" ; celle qui satisfait toutes les exigences de niveau DOIT mais pas toutes les exigences de niveau DEVRAIT pour ses protocoles est dite "conditionnellement conforme". 1.3 Terminologie La présente spécification utilise un certain nombre de termes pour se référer aux rôles joués par les participants à la communication HTTP et à ses objets. connexion Un circuit virtuel de couche transport établi entre deux programmes pour les besoins de la communication. message Unité de base de la communication HTTP, consistant en une séquence structurée d’octets satisfaisant à la syntaxe définie à la section 4 et transmise via la connexion. demande Un message de demande HTTP, comme défini à la section 5. Page 4/110 RFC2616 - Protocole de transfert Hypertexte -- HTTP/1.1 réponse Un message de réponse HTTP, comme défini à la section 6. ressource Un objet ou service de données de réseau qui peut être identifié par un URI, comme défini au paragraphe 3.2. Les ressources peuvent être disponibles dans plusieurs représentations (par exemple, plusieurs langages, formats de données, taille, et résolutions) ou varier dans d’autres façons. entité Ce sont les informations transférées comme charge utile d’une demande ou réponse. Une entité consiste en méta informations sous la forme de champs d’en-tête uploads/s3/ rfc-2616.pdf
Documents similaires
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/FLj0fhJxNVEAMCs8PR0vLr73zuDo6VzGioSqbFaeeKEVPaK7hKmIPDGVBnxLn6fkJpJWqoZikxXLK1xmmWY1VQBy.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/AL82NepOtNK2fSkwhSRa7kqz9QitjbRXQUh8wgn89EieSFE7UXo3E8BbsGPZNUg4TztsN8c3krXjhFTBAxrABkNd.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/Wd2ebJNHlmarcY6LlqQaohLUfnYWMyl09Qeu4Dwyl0vInjdDlzpKh2KMOhIMZZW39hbTPj1xpiMiaaaXeV2UeZm2.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/UR0qTnE4A5l8QwcSWo0PhoCRjMpA6Xt1M4yFUtVhymp19VxrevIxCyD5ynfo4FAn30CzonxnnKPl07WDRapWrXjL.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/r09Q7n4SImlaGLyJFaxz7stIcmurqQglFuEWWw8HqnJFpnDPovs5x3SRj7aJdHGGi5FKzo3Dlu4NjgE2vFfwuNhZ.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/rd5apzhsYB74fL9kFKMqEAThOduxV3JcvW3S6HCezxl671RLW9esfMSxSprxQl55DTVC50TNvoo2GSH2Z5bg8TeM.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/9CSuqjTChgANmHJEMW9tRlytfDj89EPA4umlAevULHkSvgydK6AEPnSMDkUMipiTZJfpa3adlSVnDTmNxnaTK1wN.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/uhZH7ps1raFLM7hyysXdGBJHmJaYHN3vVk2xXqQlb8xAUCU6zbtmc7UHTTY8df3NlfhsqE5u9JAqzQABTXApXWaa.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/N3AOUMQeJY8oAOnKrnn5ZuFpqYNh6srFJYiYBTzWpwWhR1C1CO25ohP2OIRHN0b5VfqHo20mHzTiN91JPTS05813.png)
![](https://b3c3.c12.e2-4.dev/disserty/uploads/preview/UowwOvh4PkrWmtIF5Zf8nRoZes8UAHs1xaukiE8KNiUEGBn7hmWnSyRfXd7eLq4604QdZYXDXuvEcfZIMaoozKqe.png)
-
16
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Mar 07, 2021
- Catégorie Creative Arts / Ar...
- Langue French
- Taille du fichier 0.8375MB