Support de cours Hypertext Transfer Protocol (HTTP)

Support de cours Hypertext Transfer Protocol (HTTP), tutoriel & guide de travaux pratiques en pdf.

1. Introduction
1.1 Objectif
1.2 Terminologie
1.3 Fonctionnement global
1.4 HTTP et MIME
2. Conventions de notation et Grammaire générique
2.1 BNF étendue
2.2 Règles de base
3. Paramètres du protocole
3.1 Numéro de Version
3.2 Uniform Resource Identifiers
3.2.1 General Syntax
3.2.2 URL http
3.3 Formats de temps et de date
3.4 Tables de caractères
3.5 Indication d’encodage du contenu
3.6 Types de média
3.6.1 Canonisation et texte par défaut
3.6.2 Types multiples « multipart »
3.7 Produits
4. Messages HTTP
4.1 Types de messages
4.2 En-têtes de messages
4.3 En tête générale
5. Request
5.1 Request-Line
5.1.1 Méthodes
5.1.2 Request-URI
5. En-tête de requête
6. Réponse
6.1 Ligne d’état
6.1.1 Code d’état et raison explicite
6.2 En-tête de réponse
7. Entités
7.1 En-tête d’entité
7.2 Corps d’entité
7.2.1 Type
7.2.2 Longueur
8. Définition des méthodes
8.1 GET
8.2 HEAD
8.3 POST
9. Définition des codes d’état
9.1 Information 1xx
9.2 Succès 2xx
200 OK
201 Créé
202 Acceptée
204 Pas de contenu
9.3 Redirection 3xx
300 Choix multiples
301 Changement d’adresse définitive
302 Changement d’adresse temporaire
304 Non modifié
9.4 Erreur client 4xx
400 Requête incorrecte
401 Non autorisé
403 Interdit
404 Non trouvé
9.5 Erreur serveur 5xx
500 Erreur serveur interne
501 Non implémenté
502 Erreur de routeur
503 Service indisponible
10. Définition des champs d’en-tête
10.1 Allow
10.2 Authorization
10.3 Content-Encoding
10.4 Content-Length
10.5 Content-Type
10.6 Date
10.7 Expires
10.8 From
10.9 If-Modified-Since
10.10 Last-Modified
10.11 Location
10.12 Pragma
10.13 Referer
10.14 Server
10.15 User-Agent
10.16 WWW-Authenticate
11. Authentification d’accès sous HTTP
11.1 Modèle d’authentification de base
12. Sécurité
12.1 Authentification des clients
12.2 Méthodes sûres
12.3 Abus de l’information Server Log Information
12.4 Transfert d’information sensible
12.5 Attaques sur les Fichiers et Répertoires
13. Crédits
14. Bibliographie
15. Adresses des auteurs
Appendices
A. Internet Media Type message/http
B. Applications tolérantes
C. Relations avec les MIME
C.1 Conversion vers la forme canonique
C.2 Conversion de formats de dates
C.3 Introduction du champ Content-Encoding
C.4 Pas de champ Content-Transfer-Encoding
C.5 Champs d’en-tête HTTP dans des parties de corps Multipart
D. Fonctions supplémentaires
D.1 Additional Request Methods
D.2 Définitions d’autres champs d’en-tête

Introduction
Objectif

L’Hypertext Transfer Protocol (HTTP) est un protocole de niveau application suffisamment léger et rapide, pour la transmission de documents distribués et multimédia à travers un système d’information multi-utilisateurs. HTTP à été utilisé à l’initiative du Word-Wide Web dès 1990. Cette spécification décrit les fonctionnalités le plus souvent rencontrées dans les implémentation « client/serveur HTTP/1.0 ». Elle est divisée en deux section. Les fonctions usuellement exploitées de HTTP sont décrites dans le corps de ce document. Les autres fonctions, moins utilisées sont listées dans l’annexe D.
Les systèmes d’information pratiques nécessitent des fonctions plus évoluées que la simple récupération de données, parmi lesquelles on trouve la possibilité d’effectuer des  recherches, les fonctions de remise à jour, et d’annotation. HTTP permet d’utiliser un ensemble non exhaustif de méthodes pour définir l’objet d’une requête. Il s’appuie essentiellement sur la normalisation des Uniform Resource Identifier (URI) [2], soit sous forme de « site » (URL) [4] ou de noms (URN) [16], pour indiquer l’objet sur lequel porte la méthode. Les messages sont transmis sous une forme similaire à celle de la messagerie  electronique (Mail) [7] et des extensions Multipurpose Internet Mail Extensions (MIME).
HTTP est aussi un protocole de communication générique entre des « utilisateurs » et des routeurs/proxies vers d’autres protocoles, tels que SMTP.

Terminologie

Cette spécification utilise un certain nombre de termes pour désigner les participants et les objets d’une communication HTTP.
Connexion
Un circuit virtuel s’appuyant sur une couche de transport pour la communication d’information entre deux applications.
Message
L’unité de base d’une communication HTTP, consistant en une séquence structurée d’octets définie à la Section 4 et transmis via la connexion.

Fonctionnement global
Le protocole HTTP est basé sur un paradigme requête/réponse. Un client établit une connexion vers un serveur et lui envoie une requête sous la forme d’une méthode, d’une URI, du numéro de version, suivi d’un message de type MIME contenant les modificateurs de la requête, les informations sur le client, et éventuellement un corps. Le serveur répond par une ligne d’état, incluant la version de protocole et un message de succès ou  d’erreur, suivi d’un message de type MIME contenant l’information sur le serveur, met a information, et le corps éventuel.
La plupart des communications HTTP sont initiées par un utilisateur et consistent en une requête devant être appliquée (il s’agit d’une méthode) à une ressource sur son serveur origine. Dans le cas le plus simple, ceci peut être réalisé par une connexion simple (v) entre l’utilisateur (UA) et le serveur origine (O).

HTTP et MIME
HTTP/1.0 exploite un grand nombre d’implémentation prévues pour les MIME, tels que définis dans la RFC 1521. L’appendice C décrit comment HTTP l’utilisation des « Internet Media Types » typiquement utilisés par la messagerie électronique, et indique les différences de comportement.

Conventions de notation et Grammaire générique
BNF étendue

Tous les mécanismes évoqués sont décrits en prose et sous forme Backus-Naur étendue (BNF) similaire à celle utilisée dans la RFC 822 [7]. Les développeurs devront être familiarisés avec cette notation afin de comprendre cette spécification. La notation Backus-Naur comprend les allégations suivantes :
nom = définition
Le nom d’une règle est le nom lui-même (sans « < » ni « > » englobants) et est séparé de  la définition par le symbole « = ». Le caractère espace n’a de signification que lorsqu’un retrait indique qu’une définition s’étend sur plusieurs lignes. Certaines règles de base sont en majuscules, comme SP, LWS, HT, CRLF, DIGIT, ALPHA, etc. Les ouvertures et fermetures « < » et « > » ne sont utilisées que lorsqu’une discrimination des règles est indispensable à l’intérieur d’une définition.

…….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Hypertext Transfer Protocol (HTTP) (370 KO) (Cours PDF)
cours Hypertext Transfer Protocol

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *