Le protocole HTTP Historique Le protocole HTTP Les

  • Slides: 13
Download presentation
Le protocole HTTP • • • Historique Le protocole HTTP Les méthodes GET et

Le protocole HTTP • • • Historique Le protocole HTTP Les méthodes GET et POST Les Cookies Les Serveurs HTTP Autour d ’HTTP Introduction aux technologies Internet - François Bonneville

Le Protocole HTTP • HTTP : Hyper. Text Tranfert Protocol (RFC 1945 et 2068)

Le Protocole HTTP • HTTP : Hyper. Text Tranfert Protocol (RFC 1945 et 2068) ¨ protocole de rapatriement des documents ¨ protocole de soumission de formulaires • Principe de fonctionnement ¨ très simple en HTTP/1. 0 Ø connexion Ø demande (GET) d ’un document Ø renvoi du document (status=200) ou d ’une erreur Ø déconnexion ¨ Protocole en mode de lignes de caractère Ø telnet www. sun. com 80 Introduction aux technologies Internet - François Bonneville

Dialogue HTTP • Requete du client GET http: //www. univ-fcomte. fr/ HTTP/1. 0 User-Agent

Dialogue HTTP • Requete du client GET http: //www. univ-fcomte. fr/ HTTP/1. 0 User-Agent : Mozilla/4. 0 (compatible; MSIE 5. 0; Windows 95) • Réponse du serveur HTTP/1. 0 200 OK Date : Sat, 15 Jan 2000 14: 37: 12 GMT Server : Microsoft-IIS/2. 0 Content-Type : text/HTML Content-Lentgh : 126 Last-Modified : Fri, 14 Jan 2000 08: 25: 13 GMT <HTML> <HEAD><TITLE>Université de Franche. Comté </title> </HEAD>. . . </HTML> Introduction aux technologies Internet - François Bonneville

Méthodes de la requête • GET obtenir des informations et une zone de données

Méthodes de la requête • GET obtenir des informations et une zone de données concernant l ’URI • HEAD seulement obtenir des informations concernant l ’URI • POST envoie de données (contenu du formulaire vers le serveur, …). Ces données sont situées après l ’entête et un saut de ligne. • PUT enregistrement du corps de la requête à l ’URI indiqué • DELETE suppression des données désignées par l ’URI • OPTIONS demande des options de communication disponibles Introduction aux technologies Internet - François Bonneville

En-tête de la requête On peut spécifier 5 choses : • From: Donne l'e-mail

En-tête de la requête On peut spécifier 5 choses : • From: Donne l'e-mail de la personne contrôlant le navigateur (cela peut poser des problèmes de respect de la vie privée). • Referer: URL de l'objet qui amène la requête (URL de la page où se trouve le lien) • User-Agent: l'identifiant du navigateur. Sert pour adapter la réponse au navigateur • Authorization: permet à un client de s'authentifier auprès du serveur • If-Modified-Since: conditionnels Introduction aux technologies Internet - François Bonneville permet de faire des GET

Les réponses du serveur en HTTP/1. 0 • La version HTTP utilisée par le

Les réponses du serveur en HTTP/1. 0 • La version HTTP utilisée par le serveur • Le statut de la réponse sous forme numérique • Le statut de la réponse sous forme de texte. La réponse est du genre : HTTP/1. 0 200 OK Status de la réponse • 100 -199 Informationnel ¨ 100 : Continue (le client peut envoyer la suite de la requête), . . . • 200 -299 Succès de la requête client ¨ 200: OK, 201: Created, 204 : No Content, . . . • 300 -399 Redirection de la Requête client • 400 -499 Requête client incomplète ¨ 400: Bad Request , 401: Unauthorized, 403: Forbidden, 404: Not Found • 500 -599 Erreur Serveur Introduction aux technologies Internet - François Bonneville

Entêtes des réponses serveur HTTP • Server = modèle du serveur WEB • Retry-After

Entêtes des réponses serveur HTTP • Server = modèle du serveur WEB • Retry-After = date ou nombre de secondes pour un ressai en cas de code 503 (service unavailable) • Set-Cookie = créer ou modifie un cookie sur le client • Last-Modified = date de dernière modification du doc. Utilisé par les caches • Content-Length = taille du document en octet utilisé par le client pour gauger la progression des chargements • Content-Encoding = type encodage du document renvoyé compress, x-gzip, x-zip • Content-Language : le langage du document retourné fr, en • Content-Location : URI de l ’entité quand l ’URI est à plusieurs endroits Introduction aux technologies Internet - François Bonneville

Récupération d ’un document Introduction aux technologies Internet - François Bonneville

Récupération d ’un document Introduction aux technologies Internet - François Bonneville

Soumission d ’un Formulaire • Méthode GET Introduction aux technologies Internet - François Bonneville

Soumission d ’un Formulaire • Méthode GET Introduction aux technologies Internet - François Bonneville

Soumission d ’un Formulaire • Méthode POST Introduction aux technologies Internet - François Bonneville

Soumission d ’un Formulaire • Méthode POST Introduction aux technologies Internet - François Bonneville

Codage des « paramètres » • Les valeurs passées (URL et contenu des entrées

Codage des « paramètres » • Les valeurs passées (URL et contenu des entrées des formulaires) doivent être sur 7 bits et sans caractères spéciaux • Espace -> « + » • Tous les caractères spéciaux et accentués-> %code ascii Ø @ %40 Ø é %e 9 • Les entrées des formulaires sont encodés dans une chaîne composée de paires (nom de l ’entrée)=(valeur de l ’entrée) séparé par de & • nom=Dupont+Jean&adresse=3+rue+de+la+ Gait%e 9%0 a 75014+Paris Introduction aux technologies Internet - François Bonneville

Comportement du Client face au type du document retourné • A partir du type

Comportement du Client face au type du document retourné • A partir du type MIME de Content-Type • Visualisation native la fonction de visualisation est dans le noyau (core) du client text/html, image/jpeg • Visualisation par plugin la fonction est présente dans un DLL, SO, ou un JAR elle est liée dynamiquement pour réaliser la visualisation world/vrml, text/tex • Visualisation externe la fonction n ’est pas présente dans le client qui rapporte le document et le sauvegarde dans un fichier temporaire Introduction aux technologies Internet - François Bonneville

Architectures actuelles • • Système : Linux, Windows, Sun, Mac Serveur Web : Apache,

Architectures actuelles • • Système : Linux, Windows, Sun, Mac Serveur Web : Apache, IIS Langages : CGI, PERL, PHP, ASP. Net Base de données : Access, SQL Server, Oracle, My. Sql Introduction aux technologies Internet - François Bonneville