1. Introduction
Le Hypertext Transfer Protocol (HTTP, Protocole de Transfert Hypertexte) est un protocole requête/réponse sans état qui fonctionne en échangeant des messages via une connexion de transport ou de couche session fiable. Ce document est la première partie d'une série de documents définissant HTTP/1.1.
Le contenu principal de ce document comprend :
- Une vue d'ensemble de l'architecture HTTP et de sa terminologie associée
- La définition des schémas "http" et "https" des Uniform Resource Identifier (URI, Identificateur de Ressource Uniforme)
- Les exigences de syntaxe et d'analyse des messages HTTP/1.1
- Les considérations de sécurité liées à l'implémentation
Les exigences de syntaxe et d'analyse des messages HTTP/1.1 ont été révisées par rapport à RFC 2616 pour améliorer l'interopérabilité et réduire les ambiguïtés connues. Ce document remplace certaines parties de RFC 2616 et est utilisé conjointement avec d'autres documents définissant la sémantique HTTP/1.1.
Les autres parties de HTTP sont définies dans les documents indépendants suivants :
- "Hypertext Transfer Protocol (HTTP/1.1): Semantics and Content" [RFC7231] - définit les méthodes de requête, les codes d'état et d'autres éléments liés à la sémantique du protocole
- "Hypertext Transfer Protocol (HTTP/1.1): Conditional Requests" [RFC7232] - définit les mécanismes de requêtes conditionnelles
- "Hypertext Transfer Protocol (HTTP/1.1): Range Requests" [RFC7233] - définit les requêtes et réponses partielles
- "Hypertext Transfer Protocol (HTTP/1.1): Caching" [RFC7234] - définit les exigences et le contrôle de mise en cache
- "Hypertext Transfer Protocol (HTTP/1.1): Authentication" [RFC7235] - définit le cadre d'authentification des utilisateurs
1.1. Requirements Notation (Notation des Exigences)
Les mots-clés "DOIT", "NE DOIT PAS", "REQUIS", "DEVRA", "NE DEVRA PAS", "DEVRAIT", "NE DEVRAIT PAS", "RECOMMANDÉ", "PEUT" et "OPTIONNEL" dans ce document doivent être interprétés comme décrit dans [RFC2119].
Les critères de conformité et les considérations sont décrits dans Section 2.5.
1.2. Syntax Notation (Notation Syntaxique)
Cette spécification utilise la notation Augmented Backus-Naur Form (ABNF, Forme de Backus-Naur Augmentée) de [RFC5234] avec une extension de liste, définie dans Section 7, qui permet la définition compacte de listes séparées par des virgules en utilisant un opérateur #.
Les règles de base suivantes sont incluses par référence, telles que définies dans [RFC5234], Annexe B.1 : ALPHA (lettres), CR (retour chariot), CRLF (CR LF), CTL (contrôles), DIGIT (décimal 0-9), DQUOTE (guillemet double), HEXDIG (hexadécimal 0-9/A-F/a-f), HTAB (tabulation horizontale), LF (saut de ligne), OCTET (séquence de 8 bits de données), SP (espace) et VCHAR (caractère US-ASCII visible).
Par convention, les noms de règles ABNF préfixés par "obs-" désignent des règles de grammaire "obsolètes" qui apparaissent pour des raisons historiques.