Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1

Dimension: px
Commencer à balayer dès la page:

Download "Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1"

Transcription

1 Le protocole HTTP 10 minutes pour comprendre HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1 Le protocole HTTP Le protocole HTTP 10 minutes pour comprendre Le protocole HTTP

2 Le principe client-serveur 1. Le client ouvre une connexion Serveur 2. Le client envoie une requête vers le serveur 3. Le serveur répond au client Client 4. Le serveur coupe la connexion (particulier à HTTP 1.0) Le protocole HTTP - 10 minutes pour comprendre - Une session HTTP/0.9 'manuelle' > telnet 80 GET <HTML> <HEAD> <TITLE> </TITLE> </HEAD> <BODY> </BODY> </HTML> Connection closed by foreign host > Le protocole HTTP - 10 minutes pour comprendre -

3 HTTP/0.9 HTTP - HyperText Transfer Protocol Conçu en 1990 lors de «l invention» du Web pour l échange de documents html (client-serveur) sur un réseau TCP/IP. Avantages : très simple indépendant de la nature des informations échangées indépendant de la couche transport (TCP et IP) Inconvénients : trop simple Le protocole HTTP - 10 minutes pour comprendre - Le protocole HTTP HTTP/0.9 - Lacunes et limitations Le protocole HTTP

4 Des connexions éphémères Ouverture / fermeture d une nouvelle connexion par document échangé (processus non instantané) Une page Web peut donner lieu à l échange de nombreux «documents» (images, applets, frames ) attente de l utilisateur et saturation du réseau les clients ouvrent plusieurs connexions simultanées avec le serveur (4 pour Netscape) augmente d autant la saturation du réseau Le protocole HTTP - HTTP/0.9 - Lacunes et limitations - Client, serveur et intermédiaires Il peut y avoir plusieurs intermédiaires... Serveur (origin server) Intermédiaire (proxie, gateway, tunnel) Client (user agent) Cache Cache Si on peut efficacement gérer les caches on optimise la charge du réseau on améliore le confort de l utilisateur Le protocole HTTP - HTTP/0.9 - Lacunes et limitations -

5 Soumission de formulaires Nécessité d un échange bidirectionnel Nom : Prénom : GET POST Option TIC? : Oui Non Réponse du serveur Serveur Le client doit pouvoir envoyer au serveur des données fournies par l utilisateur Le protocole HTTP - HTTP/0.9 - Lacunes et limitations - Statut de la réponse > telnet 80 GET <HTML> <HEAD> <TITLE> 404 Not Found </TITLE> </HEAD> <BODY> Nous sommes désolés, mais le document que vous avez demandé n existe pas sur ce serveur! </BODY> </HTML> Connection closed by foreign host > En cas d erreur, l utilisateur est prévenu, mais pas le client! Le protocole HTTP - HTTP/0.9 - Lacunes et limitations -

6 Le protocole HTTP HTTP/1.0 - Introduction - - Forme de la requête - - Forme de la réponse - - Gestion des caches - - Authentification - - Evolutions - Le protocole HTTP RFC 1945 : HTTP/1.0 Mai 1996 : la RFC 1945 spécifie le protocole HTTP/1.0 la version précédente est appelée HTTP/0.9 3 méthodes : GET, HEAD, POST Des messages (requête et réponse) avec une entête (métainformations) et un corps (information) Des directives spécifiques pour la gestion des caches Une réponse comportant obligatoirement une info de statut Des directives pour l identification du client et du serveur Un mécanisme d authentification (user, password) N.B. La RFC 1945 est informationnelle (i.e. elle ne vise pas à définir un standard) Le protocole HTTP - HTTP/1.0 - Introduction -

7 Exemple de session HTTP/1.0 > telnet 80 GET HTTP/1.0 User-Agent: Mozilla/4.03 [fr] HTTP/ Ok Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 Content-Type: text/html <HTML> </HTML> Connection closed by foreign host > N.B. Les lignes sont délimitées par des CRLF Remarquer les lignes vides permettant de délimiter la fin de la requête et de l entête de la réponse Le protocole HTTP - HTTP/1.0 - Introduction - Le protocole HTTP HTTP/1.0 - Forme de la requête - Le protocole HTTP

8 Forme de la requête GET HTTP/1.0 Méthode (GET, HEAD ou POST) URI de la ressource (en fait, URL - relative ou absolue) version HTTP du client (HTTP/1.0) Méthodes : GET : le client récupère la ressource spécifiée par l URI HEAD : le client récupère l entête de la ressource (gestion des caches) POST : le client envoie des données à la ressource spécifiée par l URI. Cette ressource est en général une procédure qui traite les données et renvoie un compte-rendu d exécution sous la forme d un document html Le protocole HTTP - HTTP/1.0 - Requête - URLs relatives et serveurs virtuels telnet GET /index.html HTTP/1.0 GET /index.html Serveur? ou Dans le cas d une URL relative, sur une machine comportant des serveurs virtuels, il est impossible de savoir de quel document il s agit Solution : utiliser une URL absolue GET HTTP/1.0 Le protocole HTTP - HTTP/1.0 - Requête -

9 Entêtes de la requête Il existe trois types d entêtes pour une requête Entête générique (concerne l échange, requête ou réponse) Entête de la requête (concerne la requête) Entête de l entité (méta-information, concerne les données) GET HTTP/1.0 Date: Mon, 30 Aug :54:39 GMT User-Agent: Mozilla/4.03 [en] Content-Length: 0 Le protocole HTTP - HTTP/1.0 - Requête - Entêtes - Entête générique Date: Mon, 30 Aug :54:39 GMT Date : Date et heure du client - n a de sens qu avec POST - peu utilisé (optionnel) La date peut prendre trois formats différents : Date: Sun, 06 Nov :49:37 GMT RFC 822/1123 Date: Sunday, 06-Nov-94 08:49:37 GMT RFC 850/1036 Date: Sun Nov 6 08:49: asctime() ANSI C Clients et serveurs doivent reconnaître les trois formats, mais ne doivent générer que le premier Le protocole HTTP - HTTP/1.0 - Requête - Entêtes -

10 Entête de la requête From: Referer: User-Agent: Mozilla/4.03 [en] (Win95; I) From : adresse de l utilisateur qui contrôle le client - peut poser des problème de protection de la vie privée - utile surtout pour les robots - non utilisé par les clients courants Referer : URI de la ressource à l origine de la requête - en clair, URL de la page Web contenant le lien suivi - utile pour les statistiques du serveur (suivi de liens cassés) - utilisé par NS et MSIE User-Agent : identifie le client - utile pour adapter les documents renvoyés en fonction du client ou de sa version - exemples : User-Agent: Mozilla/4.03 [en] (Win95; I) User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) Le protocole HTTP - HTTP/1.0 - Requête - Entêtes - Entête de l entité Content-Type: text/html Content-Length: 2564 Content-Encoding: x-gzip Content-Type : identifie le type de l information (corps) - types courants: text/plain, text/html, image/gif, image/jpeg - types déposés à l IANA Content-Length : nombre d octets d information - obligatoire avec POST, inutile sinon Content-Encoding : utile si l information est compressée ou autrement codée - indique la méthode de codage et donc de décodage - types déposés à l IANA Le protocole HTTP - HTTP/1.0 - Requête - Entêtes -

11 Corps de l entité Dans le cas d une requête, seule la méthode POST peut donner lieu à une entité avec un corps. Dans ce cas, la directive Content-Length est obligatoire. POST HTTP/1.0 Content-Type: application/x-www-form-urlencoded Content-Length: 34 NOM=Deubaze&PRENOM=Raymond&TIC=Oui Nom : Deubaze Prénom : Raymond Option TIC? Oui Non Le protocole HTTP - HTTP/1.0 - Requête - Le protocole HTTP HTTP/1.0 - Forme de la réponse - Le protocole HTTP

12 Forme de la réponse HTTP/ Ok Version HTTP du serveur (1.x avec x maximum) Statut de la réponse (code numérique) Statut de la réponse (texte en clair) Codes statut : 1xx (Informational) : non utilisé, réservé pour des applications futures 2xx (Success) : requête correctement reçue, comprise, traitée 3xx (Redirection) : Il faut une autre requête pour accéder à la ressource 4xx (Client Error) : requête syntaxiquement incorrecte ou incomprise 5xx (Server Error) : requête correcte mais non satisfaite Le protocole HTTP - HTTP/1.0 - Réponse - Statuts 2xx (Success) HTTP/ Ok HTTP/ Created HTTP/ Accepted HTTP/ No Content 200 : requête satisfaite 201 : une URI a été créée - cf. corps et directive Location pour plus d info 202 : requête acceptée mais non traitée - cf. corps pour plus d info 204 : requête satisfaite - le serveur n a rien de plus à dire - pas de corps - l écran présenté à l utilisateur ne devrait pas être modifié par le client Le protocole HTTP - HTTP/1.0 - Réponse - Statuts -

13 Statuts 3xx (Redirection) HTTP/ Multiple Choices HTTP/ Moved Permanently HTTP/ Moved Temporarily 300 : la ressource demandée existe sous plusieurs formes - cf. corps et autres directives pour plus d info - exemple : on demande index.html et le serveur dispose de index.html.fr et de index.html.en 301 : la ressource a changé d adresse - cf. directive Location 302 : la ressource existe mais est temporairement inaccessible - cf. directive Location et corps pour une alternative présentée à l utilisateur (pas de redirection automatique) Le protocole HTTP - HTTP/1.0 - Réponse - Statuts - Statuts 4xx (Client Error) HTTP/ (Bad Request) HTTP/ (Unauthorized) HTTP/ (Forbidden) HTTP/ (Not Found) 400 : requête syntaxiquement incorrecte 401 : la ressource nécessite une authentification de l utilisateur. La réponse comporte forcément une directive WWW-Authenticate pour permettre une autre requête avec la directive Authorization. 403 : le serveur refuse de délivrer la ressource et il ne s agit pas d un problème d authentification 404 : ressource inexistante (faute de frappe dans l URL ou document supprimé) Le protocole HTTP - HTTP/1.0 - Réponse - Statuts -

14 Statuts 5xx (Server Error) HTTP/ (Internal Server Error) HTTP/ (Not Implemented) HTTP/ (Bad Gateway) HTTP/ (Service Unavailable) 500 : le serveur a eu un problème (cf. procedure core dump ou syntax error) 501 : le serveur est incapable d appliquer la requête 502 : le serveur est un proxie ou une passerelle, et a reçu une réponse erronée d une machine située en amont 503 : le serveur n est pas en mesure de satisfaire la requête à cause d'un problème temporaire (cf. surcharge ou maintenance). Ce code implique que le problème sera résolu dans un certain délai. Le protocole HTTP - HTTP/1.0 - Réponse - Statuts - Entêtes de la réponse Il existe trois types d entêtes pour une réponse Entête générique (concerne l échange, requête ou réponse) Entête de la réponse (concerne la réponse) Entête de l entité (méta-information, concerne les données) HTTP/ Ok Date: Mon, 31 Aug :10:18 GMT Pragma: no-cache Server: Microsoft-IIS/4.0 Content-Type: text/html Entêtes génériques Date : Date et heure du serveur - utilisé par les caches Pragma : no-cache - La réponse ne doit pas être cachée Le protocole HTTP - HTTP/1.0 - Réponse - Entêtes -

15 Entête de la réponse Location: Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 WWW-Authenticate: Basic realm="gestion du serveur ECL" Location : URI absolue d une ressource - cf. statuts 3xx Server : Identification du serveur origine (attention, problème de sécurité ) WWW-Authenticate : demande d authentification de l utilisateur - cf. statut 401 (Authorization Required) Le protocole HTTP - HTTP/1.0 - Réponse - Entêtes - Entête de l entité Content-Type: text/html Content-Length: 2564 Content-Encoding: x-gzip Expires: Sat, 01 Jan :00:01 GMT Last-Modified: Sun, 06 Nov :49:37 GMT Content-Type : type de l information (corps) - types courants: text/plain, text/html, image/gif, image/jpeg - déposés à l IANA Content-Length : nombre d octets d information - obligatoire Content-Encoding : utile si l information est compressée ou codée - on en déduit la méthode de décodage - types déposés à l IANA Expires : limite de validité de la ressource - utilisé par les caches Last-Modified : date et heure de dernière modification de la ressource - cf. caches pour une éventuelle mise à jour de la version cachée Le protocole HTTP - HTTP/1.0 - Réponse - Entêtes -

16 Corps de l entité HTTP/ Ok Content-Type: text/html Content-Length : 89 <HTML> <HEAD><TITLE> My first try </TITLE></HEAD> <BODY>Hello World!</BODY> </HTML> Une réponse comporte en général une entité avec un corps, dans ce cas, la directive Content-Length est obligatoire. Seules les réponses à une requête avec la méthode HEAD comportent systématiquement une entité dépourvue de corps. Certaines réponses avec des statuts particuliers (par exemple 401 Authorization Required) sont également dépourvues de corps. Le protocole HTTP - HTTP/1.0 - Réponse - Le protocole HTTP HTTP/1.0 - Gestion des caches - Le protocole HTTP

17 Gestion des caches Client Proxie Passerelle Serveur Cache Cache Cache Validité de la copie cachée? HTTP/1.0 dispose de mécanismes qui permettent de faciliter la gestion des caches. Ces mécanismes comprennent : la méthode HEAD une directive de GET conditionnel : If-Modified-Since (dans l'entête de la requête) des directives permettant de déterminer la durée de cachabilité d une information : Date (entête générique), Expires, Last-Modified (entête de l entité) Le protocole HTTP - HTTP/1.0 - Gestion des caches - La directive Expires Client Proxie Serveur Cache Cache Validité de la copie cachée? Lorsqu un intermédiaire reçoit une requête, il effectue les opérations suivantes : La ressource est-elle cachée? non : on envoie un GET au serveur, on cache la réponse, on fait suivre au client oui - La ressource cachée est-elle périmée? (Expires, ou algorithme cache) non : on envoie au client Il faut vérifier si la version cachée est la bonne. Si oui, on l envoie au client, si non on met à jour le cache puis on envoie au client. Le protocole HTTP - HTTP/1.0 - Gestion des caches -

18 1. La méthode HEAD HEAD HTTP/1.0 HTTP/ OK Date: Wed, 01 Sep :48:35 GMT Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 Content-Type: text/html L envoi d une requête avec la méthode HEAD provoque une réponse dépourvue de corps, mais dont toutes les entêtes sont telles qu elles auraient été si la méthode avait été GET. Ce mécanisme permet de déterminer si la ressource existe et si elle a été modifiée depuis le dernier accès (cf. Content-Length, Last-Modified), sans charger le réseau en demandant l envoi du corps (cf. GET). Si le document a été modifié il faut refaire une requête GET. Le protocole HTTP - HTTP/1.0 - Gestion des caches - 2. GET conditionnel L envoi d une requête du type GET conditionnel (avec If-Modified-Since) permet de combiner l effet d un HEAD, éventuellement suivi par un GET : GET HTTP/1.0 If-Modified-Since: Wed, 07 Jul :00:01 GMT HTTP/ Not Modified Date: Wed, 01 Sep :05:52 GMT Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 Si la ressource a été modifiée depuis la date fournie par le client, la réponse est celle correspondant à un GET normal Si la ressource n a pas été modifiée depuis cette date, le serveur retourne un code Not Modified Le protocole HTTP - HTTP/1.0 - Gestion des caches -

19 Entité non cachable Si le serveur ne désire pas qu une réponse soit cachée, il peut soit inclure une directive Pragma: no-cache soit inclure une directive Expires dont la date précède ou égale la date courante spécifiée par la directive Date GET HTTP/1.0 HTTP/ Ok Date: Wed, 01 Sep :05:52 GMT Expires: Wed, 01 Sep :05:52 GMT Content-Type: text/html Content-Length : 89 Pragma: no-cache <HTML> <HEAD><TITLE> My first try </TITLE></HEAD> <BODY>Hello World!</BODY> </HTML> Le protocole HTTP - HTTP/1.0 - Gestion des caches - Le protocole HTTP HTTP/1.0 - Authentification - Le protocole HTTP

20 Demande d authentification Lorsque le serveur reçoit une requête concernant une ressource protégée, il renvoie un code statut Unauthorized comportant une directive WWW-Authenticate indiquant au client comment effectuer une demande d accréditation : GET HTTP/1.0 HTTP/ Authorization Required Date: Wed, 01 Sep :34:32 GMT Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 WWW-Authenticate: Basic realm="gestion du serveur ECL" Content-Type: text/html Le client doit alors refaire une requête comportant une directive Authorization afin d accréditer l utilisateur à l aide du mécanisme mentionné. Le seul mécanisme initialement proposé par HTTP/1.0 est : Basic Le protocole HTTP - HTTP/1.0 - Authentification - Authentification GET HTTP/1.0 Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== L'exemple ci-dessus correspond à l'envoi du nom d'utilisateur "Aladdin" et du mot de passe "open sesame" au serveur. La série de caractères envoyés correspond au codage en base64 de la chaîne obtenue en concaténant le nom d'utilisateur avec le mot de passe séparés par un caractère ":" (douple-point) : code_base_64(user_id:password) Cette méthode d'authentification (Basic) n'est pas sûre du tout, puisque le mot de passe circule sur le réseau sous forme certes encodée, mais non cryptée. De plus, en supposant que le serveur accepte de renvoyer l'entité correspondant à la ressource requise, cette entité ne sera pas cryptée. Le protocole HTTP - HTTP/1.0 - Authentification -

21 Le protocole HTTP HTTP/1.0 - Evolutions - Le protocole HTTP Connection: Keep-Alive HTTP/1.0 ne résout pas le problème dû au fait qu il y a une connexion par document. Certaines implémentations ont tenté de résoudre ce problème à l aide d une directive nouvelle : Keep-Alive HEAD / HTTP/1.0 Connection: Keep-Alive Host: Problème avec les intermédiaires qui ne comprennent pas cette directive HTTP/ OK Date: Thu, 02 Sep :31:07 GMT Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive Content-Type: text/html Le protocole HTTP - HTTP/1.0 - Evolutions -

22 WWW-Authenticate: Digest La méthode d authentification Digest (RFC 2069, puis 2617 ) résout le problème de la méthode Basic. HTTP/ Unauthorized WWW-Authenticate: Digest nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41" Provoque une nouvelle requête avec la directive : Authorization: Digest username="mufasa", uri="/dir/index.html", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41", response="e966c932a e42c8ee200cec7f6", Le protocole HTTP - HTTP/1.0 - Evolutions - WWW-Authenticate: Digest Le champ response de la directive Authorization est calculé de la façon suivante : A1 = MD5(username:realm:password) A2 = MD5(method:digestURI) response = MD5(A1:nonce:A2) MD5 (RFC 1321 ) est un algorithme permettant d'encrypter les données sous la forme d'une chaîne de 128 octets (checksum), ensuite représentée sous la forme de 32 caractères hexadécimaux (les 128 bits sont représentés 4 par 4, des poids forts vers les poids faibles). A réception de cette chaîne, le serveur effectue le même calcul de son côté, avec les données spécifiées et le mot de passe de l'utilisateur (qui n'a jamais circulé en clair sur la ligne) et compare les deux chaînes. N.B. la chaîne nonce peut être unique pour chaque réponse du type Unauthorized Le protocole HTTP - HTTP/1.0 - Evolutions -

23 Le protocole HTTP HTTP/1.1 - Introduction - - Méthodes - - Gestion des caches - Le protocole HTTP RFC 2616 : HTTP/1.1 Janvier 1997 : la RFC 2068 spécifie le protocole HTTP/1.1 Juillet 1999 : la RFC 2616, frappe la 2068 d obsolescence en résolvant certains problèmes, en précisant si nécessaire les mécanismes effectivement implémentés et fonctionnels, et en rendant caduques certains des aspects peu utilisés. Ces RFC visent à définir un standard. HTTP/1.1 s attache à résoudre certains problèmes de HTTP/1.0 : connections multiples (1 par requête) problème des serveurs virtuels (URI absolue obligatoire en 1.0) caching au mieux primitif, sinon inexistant (méthodes de gestion des caches insuffisantes) Le protocole HTTP - HTTP/1.1 - Introduction -

24 Problème des connexions multiples En HTTP/1.1 la connexion reste ouverte par défaut. Avantages : Gain de temps (CPU) et de mémoire à tous les niveaux (client, intermédiaires, serveur) Plusieurs requêtes peuvent être envoyées avant que la réponse à la première ne soit revenue au client (pipelining) Le réseau est moins chargé (moins d ouvertures de connexions). HTTP limite à 2 les connexions ouvertes en parallèle entre un client et un serveur donné. La gestion des erreurs est facilitée, puisque la liaison entre le client et le serveur n est pas systématiquement coupée L utilisateur perçoit une réponse plus rapide Fermeture de la connexion : Connection : close (ou timeout) Le protocole HTTP - HTTP/1.1 - Introduction - Problème des serveurs virtuels La directive Host : Une requête HTTP/1.1 doit obligatoirement comporter cette directive. Sinon, le serveur doit renvoyer le statut Bad Request Implémentation possible par des clients ou serveurs HTTP/1.0 (de fait, cette directive a été utilisée bien avant la RFC HTTP/1.1) > telnet GET HTTP/1.1 HTTP/ Bad Request > telnet GET /index.html HTTP/1.1 Host: HTTP/ Ok Le protocole HTTP - HTTP/1.1 - Introduction -

25 Transfer-Encoding : Chunked En HTTP/1.0, la directive Content-Length est optionnelle : la fin de certains messages est déterminée par la coupure de la connexion. Il n'est parfois pas possible (ou très difficile) pour le serveur de connaître la longueur de certains messages avant de les avoir transmis (cf. messages générés par des procédures) HTTP/1.1 propose une solution : GET HTTP/1.1 HTTP/ Bad Request Connection: close Transfer-Encoding: chunked Content-Type: text/html 138 <HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD><BODY> <H1>Bad Request</H1> </BODY></HTML> 0 Le protocole HTTP - HTTP/1.1 - Introduction - Le protocole HTTP HTTP/1.1 - Méthodes - Le protocole HTTP

26 Méthodes sûres et idempotentes HTTP/1.1 définit la notion de méthode sûre et idempotente. Une méthode est sûre, si l'utilisateur peut légitimement supposer qu'une requête utilisant cette méthode ne produira rien d'irréversible sur le serveur. Une méthode est idempotente si l'envoi répété d'une même requête utilisant cette méthode produit à chaque fois le même résultat. Par convention, HEAD et GET sont considérées être des méthodes sûres et idempotentes. Lorsque la ressource adressée est une procédure, elle doit uniquement servir à retrouver de l'information et ne doit pas avoir d'effets de bord (modification d'information)... pas toujours le cas... POST ne doit être considérée ni sûre ni idempotente. Typiquement utilisée pour envoyer au serveur le contenu d'un formulaire conduisant à modifier des données... Le protocole HTTP - HTTP/1.1 - Méthodes - La méthode OPTIONS La méthode OPTIONS permet de requérir des informations sur les options de communication disponibles tout au long de la chaîne allerretour identifiée par l'uri de la requête. Elle permet typiquement de connaître la configuration du serveur final et des intermédiaires. Cette méthode est sûre et idempotente. OPTIONS / HTTP/1.1 Host: HTTP/ OK Date: Mon, 06 Sep :02:56 GMT Server: Apache/1.3.6 LV/LM-1.3 (Unix) PHP/3.0.9 Content-Length: 0 Allow: GET, HEAD, POST, PUT, DELETE, CONNECT, OPTION, PATCH, PROPFIND, PROPPATCH, MKCOL, COPY, MOVE, LOCK, UNLOCK, TRACE Une réponse à une requête OPTIONS ne peut être cachée. Le protocole HTTP - HTTP/1.1 - Méthodes -

27 La méthode GET La méthode GET permet de requérir l'information, quelle qu'elle soit, identifiée par l'uri de la requête. Si cette URI correspond à une procédure, l'information n'est pas constituée par le contenu de la procédure, mais est le produit du résultat de son exécution. GET doit pouvoir être considérée comme sûre et idempotente. GET /index.html HTTP/1.1 Host: HTTP/ Ok Si l'une des directives If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match ou If-Range est présente, on parle de GET conditionnel. Si la directive Range est présente, on parle de GET partiel. Une réponse à une requête GET peut éventuellement être cachée dans la mesure ou les directives de gestion des caches le permettent. Le protocole HTTP - HTTP/1.1 - Méthodes - La méthode HEAD La méthode HEAD se rapproche de GET, sauf qu'on demande au serveur de ne transmettre que l'entête de l'entité demandée. Le corps de l'entité ne doit pas être transmis. HEAD doit pouvoir être considérée comme sûre et idempotente. HEAD /index.html HTTP/1.1 Host: HTTP/ OK Date: Wed, 01 Sep :48:35 GMT Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 Content-Type: text/html Cette méthode est souvent utilisée pour obtenir des métainformations au sujet d'une entité, sans être obligé de la transmettre. Elle permet par exemple de tester la validité de liens hypertextes, ou celle d'une copie cachée. Une réponse à une requête HEAD peut éventuellement être cachée. Le protocole HTTP - HTTP/1.1 - Méthodes -

28 La méthode POST La méthode POST permet d'envoyer de l'information, généralement entrée par l'utilisateur, à une procédure identifiée par l'uri de la requête. (Usages typiques : annotation de ressources existantes, envoi de messages, de formulaires, édition de bases de données ) En général POST ne peut être considérée ni sûre ni idempotente. POST /cgi-bin/test HTTP/1.1 Host: Content-Type: application/x-www-form-urlencoded Content-Length: 34 NOM=Deubaze&PRENOM=Raymond&TIC=Oui La réponse à une requête POST peut avoir un statut Ok, No Content (réponse sans corps), ou Created assorti d'une directive Location si une nouvelle ressource a été créée. La réponse ne doit pas être cachée, sauf si des directives de gestion des caches le permettent explicitement. Le protocole HTTP - HTTP/1.1 - Méthodes - La méthode PUT La méthode PUT permet d'envoyer au serveur une entité qui doit ensuite être accessible comme la ressource identifiée par l'uri de la requête. (Typiquement mise à jour distante d'un document html - publish) La méthode PUT n'est pas sûre, mais elle est idempotente. Si une ressource a été créée la réponse aura un statut Created, si la ressource existait préalablement et a été modifiée le statut peut être Ok ou No Content. La réponse ne doit pas être cachée. Si un cache possède une copie de la ressource identifiée par l'uri de la requête, celle-ci doit être considérée comme périmée. Le protocole HTTP - HTTP/1.1 - Méthodes -

29 La méthode DELETE La méthode DELETE permet de demander au serveur de supprimer la ressource identifiée par l'uri de la requête. La ressource peut effectivement être détruite, ou simplement rendue inaccessible. Ceci dépend du serveur. La méthode DELETE n'est pas sûre, mais elle est idempotente. DELETE /essai/index.html HTTP/1.1 Host: HTTP/ Forbidden Si la ressource a été supprimée immédiatement, la réponse aura un statut Ok, si la demande a été prise en compte, le statut peut être Accepted ou No Content. La réponse ne doit pas être cachée.si un cache possède une copie de la ressource identifiée par l'uri de la requête, celle-ci doit être considérée comme périmée. Le protocole HTTP - HTTP/1.1 - Méthodes - La méthode TRACE La méthode TRACE permet de déterminer sous quelle forme le serveur final reçoit une requête. La demande peut s'adresser à un intermédiaire si elle est assortie d'une directive Max-Forwards. La méthode TRACE est sûre et idempotente. TRACE / HTTP/1.1 Host: HTTP/ OK Transfer-Encoding: chunked Content-Type: message/http 2a TRACE / HTTP/1.1 Host: 0 La réponse devrait toujours avoir un statut Ok, avec le corps de l'entité qui reflète exactement la requête telle que reçue par le serveur. La réponse ne doit pas être cachée. Le protocole HTTP - HTTP/1.1 - Méthodes -

30 Méthodes conditionelles Les directives If-Modified-Since, If-Unmodified-Since, If- Match, If-None-Match ou If-Range permettent de rendre une méthode conditionnelle. L'utilité d'effectuer des requêtes GET conditionnelles pour la mise à jour des caches a déjà été évoquée. Les directives If-Match et If-None-Match sont également particulièrement utiles avec les méthodes PUT et DELETE pour se garder des accès concurrents. La création d'une ressource est un cas particulier : PUT /tagada.html HTTP/1.1 Host: If-None-Match: * Le protocole HTTP - HTTP/1.1 - Méthodes - Le protocole HTTP HTTP/1.1 - Gestion des caches - Le protocole HTTP

31 Entités partielles La directive Range permet à un client de demander une partie seulement d'une entité. Cette directive est utile dans le cas de documents très gros, par exemple en vue d'un affichage page par page, ou après une coupure de ligne accidentelle. GET /sh_ecl-bienvenue.gif HTTP/1.1 Host: Range: bytes= Le protocole HTTP - HTTP/1.1 - Gestion des caches - Entités partielles La réponse du serveur à une requête d'entité partielle comporte une directive Content-Range : HTTP/ Partial Content Last-Modified: Thu, 13 Mar :54:45 GMT Accept-Ranges: bytes Content-Length: 1001 Content-Range: bytes /44320 Content-Type: image/gif GIF89a Ùçïïé Ÿ³³»» ±Ãà ÇǺËË ÏÏÄÓÓÈ ÍÛÛÑßßÖã... Content-Range précise la taille de l'extrait envoyé au client, sa position au sein de l'entité, ainsi que la taille de l'entité complète. Une directive Content-Length indique la taille de l'extrait transmis. Le protocole HTTP - HTTP/1.1 - Gestion des caches -

Le protocole HTTP - 10 minutes pour comprendre - D. Muller - 26/08/99. Le protocole HTTP - 10 minutes pour comprendre - Le principe client-serveur

Le protocole HTTP - 10 minutes pour comprendre - D. Muller - 26/08/99. Le protocole HTTP - 10 minutes pour comprendre - Le principe client-serveur 10 minutes pour comprendre HTTP/0.9 - Lacunes et limitations 10 minutes pour comprendre HTTP/1.1 http://tic01.tic.ec-lyon.fr/~muller/cours-tdw/httpbw.pdf Le principe client-serveur Une session HTTP/0.9

Plus en détail

Le protocole HTTP. Olivier Aubert 1/40

Le protocole HTTP. Olivier Aubert 1/40 Le protocole HTTP Olivier Aubert 1/40 Liens http://www.jmarshall.com/easy/http/ Références : RFC1945 (HTTP1.0), RFC2616 (HTTP1.1), RFC822 (format des entêtes), RFC2396 (syntaxe des URL), RFC1521 (types

Plus en détail

Le Web. Présentation du langage HTML et du protocole HTTP

Le Web. Présentation du langage HTML et du protocole HTTP Le Web Présentation du langage HTML et du protocole HTTP Une petite histoire du web 1989 1ère note relative au web «hypertexte et le CERN» au sujet du World Wide Web. 1991 premier serveur web sur l Internet,

Plus en détail

L3 informatique TP n o 2 : Les applications réseau

L3 informatique TP n o 2 : Les applications réseau L3 informatique TP n o 2 : Les applications réseau Sovanna Tan Septembre 2009 1/20 Sovanna Tan L3 informatique TP n o 2 : Les applications réseau Plan 1 Transfert de fichiers 2 Le Courrier électronique

Plus en détail

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion

HTTP HTTP. IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin. Introduction et architecture Messages Authentification Conclusion HTTP IUT1 dpt SRC L Isle d Abeau Jean-françois Berdjugin HTTP Introduction et architecture Messages Authentification Conclusion 1 HTTP Introduction et architecture Hypertext Transfert Protocol URI (Uniform

Plus en détail

A6 - HTTP ESIROI 2014-2015

A6 - HTTP ESIROI 2014-2015 A6 - HTTP ESIROI 2014-2015 HTTP HyperText Transfer Protocol Protocole synchrone 3 version : HTTP/0.9 (obsolète) HTTP/1.0 (rare) HTTP/1.1 HTTP - fonctionnement Requête Réponse Icones : http://www.visualpharm.com/

Plus en détail

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068

Gilles.Roussel univ-mlv.fr HTTP/1.1 RFC 2068 HTTP/1.1 RFC 2068 1 Caractéristiques Niveau application Sans état Tout transfert de données Au dessus du protocole TCP Largement utilisé dans le World Wide Web Utilise les normes : URI (Uniform Resource

Plus en détail

(structure des entêtes)

(structure des entêtes) Aide mémoire HTTP (structure des entêtes) Fabrice HARROUET École Nationale d Ingénieurs de Brest http://www.enib.fr/~harrouet/ enib 1/10 Structure générale d une requête Requête HTTP méthode ressource

Plus en détail

INSA - ASI TechnoWeb : Serveur Web et protocole HTTP 1/40. Technologie Web. Serveur Web et protocole HTTP. Alexandre Pauchet

INSA - ASI TechnoWeb : Serveur Web et protocole HTTP 1/40. Technologie Web. Serveur Web et protocole HTTP. Alexandre Pauchet INSA - ASI TechnoWeb : Serveur Web et protocole HTTP 1/40 Technologie Web Serveur Web et protocole HTTP Alexandre Pauchet INSA Rouen - Département ASI BO.B.RC.18, pauchet@insa-rouen.fr INSA - ASI TechnoWeb

Plus en détail

Application distribuée via HTTP Mise en œuvre minimale...

Application distribuée via HTTP Mise en œuvre minimale... Module RX : distrib/http Application distribuée via HTTP Mise en œuvre minimale... Problème de la distribution Fabrice Harrouet École Nationale d Ingénieurs de Brest harrouet@enib.fr http://www.enib.fr/~harrouet/

Plus en détail

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3

1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 Tutorial HTTP 1 Introduction...3 1.1 Propos du document...3 1.2 Introduction...3 1.3 De HTTP 1.0 à HTTP 1.1...3 2 URL HTTP...4 2.1 Format d une URL HTTP...4 2.2 Champs de l URL HTTP...4 2.3 Encodage d

Plus en détail

Cours Web : Introduction

Cours Web : Introduction Cours Web : Introduction Catherine Letondal letondal@pasteur.fr Institut Pasteur Cours Web IEB 2005 p.1/?? Pourquoi un cours Web? le Web : c est stratégique en biologie c est un bon exemple de système

Plus en détail

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ...

HTTP 1.1. HyperText Transfer Protocol ... ... TCP IP ... HTTP 1.1 Place de http dans le modèle osi : HyperText Transfer Protocol...... TCP IP...... HTTP est un protocole «sans état» : chaque page WEB est transmise dans une connexion séparée (sauf pour les connections

Plus en détail

Programmation du Web : Présentation du protocole HTTP

Programmation du Web : Présentation du protocole HTTP Programmation du Web : Présentation du protocole HTTP Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-14 Présentation générale Le

Plus en détail

Cours de Réseau et communication Unix n 8

Cours de Réseau et communication Unix n 8 Cours de Réseau et communication Unix n 8 Edouard THIEL Faculté des Sciences Université d Aix-Marseille (AMU) Septembre 2014 Les transparents de ce cours sont téléchargeables ici : http://pageperso.lif.univ-mrs.fr/~edouard.thiel/ens/rezo/

Plus en détail

Protocoles Applicatifs

Protocoles Applicatifs Programmation Réseau Protocoles Applicatifs Jean-Baptiste.Yunes@liafa.jussieu.fr UFR Informatique 2011-2012 Protocoles Protocoles applicatifs on appelle protocole applicatif ou protocole d application

Plus en détail

IUT Montpellier - Architecture (DU)

IUT Montpellier - Architecture (DU) IUT Montpellier - Architecture (DU) V. Poupet Cours n o 5 : Hypertext Transfer Protocol (HTTP) 1 Le protocole HTTP Lorsqu un utilisateur (client) veut obtenir une page web, il s adresse à un serveur web.

Plus en détail

Applications Réparties. Département Sciences Informatiques SI 4 ème année

Applications Réparties. Département Sciences Informatiques SI 4 ème année Applications Réparties Département Sciences Informatiques SI 4 ème année 1 Applications Réparties? Ensemble de processus (objets, agents, acteurs) qui: Communiquent entre eux via un réseau Evoluent de

Plus en détail

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9

Introduction à HTTP. Chapitre 3 3.1 HTTP 0.9 Chapitre 3 Introduction à HTTP L HyperText Transfer Protocol, plus connu sous l abréviation HTTP (littéralement protocole de transfert hypertexte ) est un protocole de communication client-serveur développé

Plus en détail

Serveurs de noms Protocoles HTTP et FTP

Serveurs de noms Protocoles HTTP et FTP Nils Schaefer Théorie des réseaux (EC3a) Serveurs de noms Protocoles HTTP et FTP Théorie des réseaux (EC3a) Séance 7 Pourquoi DNS? Internet est une structure hiérarchique et arborescente de réseaux et

Plus en détail

Architecture client-serveur

Architecture client-serveur Architecture client-serveur Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 Objectifs du cours Rappels sur les ordinateurs réseau et Internet. Communication entre programmes et entre machines.

Plus en détail

Programmation Avancée pour le Web

Programmation Avancée pour le Web L3 Informatique Option : ISIL Programmation Avancée pour le Web RAMDANI Med U Bouira 1 Contenu du module Introduction aux applications Web Rappels sur les sites Web Conception d une application Web Notion

Plus en détail

Programmation d applications pour le Web

Programmation d applications pour le Web Programmation d applications pour le Web Cours 2 ème année ING ISI-Tunis Elaboré par: Hela LIMAM Chapitre 1 Architectures et applications du Web Année universitaire 2011/2012 Semestre 2 1 Plan Internet,

Plus en détail

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type

Types MIME (2) Typage des ressources Internet. Les URI. Syntaxe dans les URI. Possibilité de spécifier un paramètre du sous-type Typage des ressources Internet Types MIME (Multi-purpose Internet Mail Extension) RFC 2046. Composé par un type et un sous-type Les types principaux sont les suivants text image audio video message multipart

Plus en détail

Architecture client-serveur

Architecture client-serveur Architecture client-serveur Yannick Prié UFR Informatique Université Claude Bernard Lyon 1 2007-2008 Master SIB M1 UE 3 / Bloc 4 Cours 3 Objectifs du cours Rappels sur les ordinateurs réseau et Internet.

Plus en détail

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing

RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing RFC 7230 : Hypertext Transfer Protocol (HTTP/1.1): Message Syntax and Routing Stéphane Bortzmeyer Première rédaction de cet article le 14 juin 2014 Date de publication du

Plus en détail

«Cachez-moi cette page!»

«Cachez-moi cette page!» «Cachez-moi cette page!» Atelier Pratique 1h30 Hugo Hamon (@hhamon) http://hugohamon.com Qui suis-je? Au menu de cet atelier 1. Introduction 2. Avantages 3. Expiration (Expires & Cache-Control) 4. Validation

Plus en détail

HTTP et le Web. 2010 Pearson France Perl moderne Sébastien Aperghis-Tramoni, Damien Krotkine, Jérôme Quelin

HTTP et le Web. 2010 Pearson France Perl moderne Sébastien Aperghis-Tramoni, Damien Krotkine, Jérôme Quelin 21 HTTP, le protocole de transfert à la base du Web est devenu omniprésent. Parce qu il est le seul protocole dont il est quasi certain qu il passera à travers les proxies et les firewalls, celui-ci est

Plus en détail

Technologies du Web Master COMASIC Internet et HTTP

Technologies du Web Master COMASIC Internet et HTTP Technologies du Web Master COMASIC Internet et HTTP Antoine Amarilli 1 27 novembre 2014 1. Matériel de cours inspiré de notes par Pierre Senellart et Georges Gouriten. Merci à Pierre Senellart pour sa

Plus en détail

DESS TEXTE. Outils informatiques 5. HTML et le protocole HTTP p.1

DESS TEXTE. Outils informatiques 5. HTML et le protocole HTTP p.1 Outils informatiques 5. HTML et le protocole HTTP DESS TEXTE Outils informatiques 5. HTML et le protocole HTTP p.1 Introduction But du cours : récupérer automatiquement des données accessibles sur le web

Plus en détail

Pages WWW interactives et CGI

Pages WWW interactives et CGI Pages WWW interactives et CGI cgi-intro Pages WWW interactives et CGI Code: cgi-intro Originaux url: http://tecfa.unige.ch/guides/tie/html/cgi-intro/cgi-intro.html url: http://tecfa.unige.ch/guides/tie/pdf/files/cgi-intro.pdf

Plus en détail

Application Web et J2EE

Application Web et J2EE Application Web et J2EE Servlet, JSP, Persistence, Méthodologie Pierre Gambarotto Département Informatique et Math appli ENSEEIHT Plan Introduction 1 Introduction Objectfis

Plus en détail

Architecture client/serveur

Architecture client/serveur Architecture client/serveur Table des matières 1. Principe du client/serveur...2 2. Communication client/serveur...3 2.1. Avantages...3 2.2. Inconvénients...3 3. HTTP (HyperText Transfer Protocol)...3

Plus en détail

CSI 3540. Structures, techniques et normes du Web

CSI 3540. Structures, techniques et normes du Web CSI 3540 Structures, techniques et normes du Web Assises du Web (Partie 2) Objectifs: Maîtrise des concepts sur lesquels reposent les technologies du Web, incluant HTTP Bien comprendre les interactions

Plus en détail

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42

Java et Objet. Amélie Lambert 2014-2015. Amélie Lambert 2014-2015 1 / 42 Java et Objet Amélie Lambert 2014-2015 Amélie Lambert 2014-2015 1 / 42 Chapitre 8 Développement d applications Web Amélie Lambert 2014-2015 2 / 42 Plan du cours Typologie des applications Web Architecture

Plus en détail

Service Web. Cours de Réseaux. Tuyêt Trâm DANG NGOC 2012-2013. Université de Cergy-Pontoise. Tuyêt Trâm DANG NGOC Service Web 1 / 12

Service Web. Cours de Réseaux. Tuyêt Trâm DANG NGOC 2012-2013. Université de Cergy-Pontoise. <dntt@u-cergy.fr> Tuyêt Trâm DANG NGOC Service Web 1 / 12 Service Web Cours de Réseaux Tuyêt Trâm DANG NGOC Université de Cergy-Pontoise 2012-2013 Tuyêt Trâm DANG NGOC Service Web 1 / 12 Plan 1 Le Web 2 HTTP 3 FTP 4 URL Tuyêt Trâm DANG NGOC

Plus en détail

TD : Protocoles applicatifs DNS, SMTP, HTTP

TD : Protocoles applicatifs DNS, SMTP, HTTP TD : Protocoles applicatifs DNS, SMTP, HTTP 1 Domain Name System (DNS) 1.1 Structure On considère l arbre de noms ci-dessous. Les noms entre parenthèses sont les serveurs DNS ayant autorité sur ces parties

Plus en détail

HTTP. HyperText Transfert Protocol

HTTP. HyperText Transfert Protocol HyperText Transfert Protocol 1 client Web (Navigateur) URL Internet serveur Web test.xhtml Quels sont les échanges entre un client web (navigateur) et un serveur web? 2 Le protocole HTTP Protocole langage

Plus en détail

Systèmes et Réseaux UE 444

Systèmes et Réseaux UE 444 Systèmes et Réseaux UE 444 Partie 4 Services et Applications de l Internet Part 4 Contenu du module R2 Introduction des réseaux de communication Supports et circuit de données Liaison de données Mécanismes

Plus en détail

Système UNIX et Langages de scripts

Système UNIX et Langages de scripts Système UNIX et Langages de scripts Projet Les deux sujets sont à faire, en binôme! 1 Bash : Gestion d une bibliothèque numérique L objectif est de gérer une bibliothèque numérique (un ensemble de livres

Plus en détail

Guide d implémentation : M2M Tiers Déclarants

Guide d implémentation : M2M Tiers Déclarants Référence Guide d implémentation de l API M2M MSA Guide d implémentation : M2M Tiers Déclarants A G O R A Historique du document : Version Date Auteur Commentaires / Modifications 1.0 27/03/2014 L. BREIL

Plus en détail

Sécurité informatique Apprendre l attaque pour mieux se défendre

Sécurité informatique Apprendre l attaque pour mieux se défendre 384 Sécurité informatique Apprendre l attaque pour mieux se défendre Deux très importants types de données sont principalement utilisés sur le réseau Internet : les pages web et les e-mails. Dans ce chapitre

Plus en détail

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34

Le World Wide Web. Introduction. Daniel Hagimont Laurent Broto. 13 mars 2011 IRIT/ENSEEIHT 1 / 34 Le World Wide Web Introduction Daniel Hagimont Laurent Broto IRIT/ENSEEIHT 13 mars 2011 1 / 34 Copyright (c) 2010 Daniel Hagimont & Laurent Broto. Permission is granted to copy, distribute and/or modify

Plus en détail

Service Web ATUM spécifications techniques

Service Web ATUM spécifications techniques Service Web ATUM spécifications techniques Table des matières Introduction...2 Service Web ATUM...3 Authentification...4 Envoi de fichier...5 En-têtes...6 En-tête Content-Type En-tête Content-Disposition

Plus en détail

Outline. Traces sur le réseau. Client Serveur Architecture. Motivation. Emmanuel Benoist. Chargé de cours Université de Lausanne

Outline. Traces sur le réseau. Client Serveur Architecture. Motivation. Emmanuel Benoist. Chargé de cours Université de Lausanne Traces sur le réseau Emmanuel Benoist Chargé de cours Université de Lausanne Les entêtes de la s typiques 1 2 Client Serveur Architecture Sur le web, tout le monde est anonyme Du moins le croit on! Quantité

Plus en détail

Langages du Web. Que savez vous???

Langages du Web. Que savez vous??? Langages du Web Que savez vous??? Le WEB World Wide Web ouwww ouweb Toile d'araignée mondiale ou la toile Le Web utilise le réseau Internet pour relier des serveurs qui, grâce aux protocoles HTTP, HTTPS,

Plus en détail

DAR - Cours 2 Communication

DAR - Cours 2 Communication DAR - Cours 2 Communication Romain Demangeon APR, LIP6, UPMC 21/09/2015 Précisions Front-end / Back-End Vision Serveur: Partie client Partie serveur(front-end, BDD, Back-end). Vision Application: Front-end

Plus en détail

eth0 10.254.52.1/24 eth1 10.52.1.1/24 Sn Serveur Apache

eth0 10.254.52.1/24 eth1 10.52.1.1/24 Sn Serveur Apache APACHE Configuration et administration d un serveur 1 : Mise en place du réseau Schéma logique stp 10.254.0.254 eth0 10.254.52.1/24 eth0 10.52.1.3/24 eth1 10.52.1.1/24 Sn Serveur Apache eth2 10.52.2.1/24

Plus en détail

Master 1 Informatique. Emmanuel Godard. 22 novembre 2005

Master 1 Informatique. Emmanuel Godard. 22 novembre 2005 Réseaux Master 1 Informatique Emmanuel Godard Université de Provence 22 novembre 2005 Emmanuel Godard (Université de Provence) Réseaux 22 novembre 2005 1 / 1 Emmanuel Godard (Université de Provence) Réseaux

Plus en détail

Dans l'épisode précédent

Dans l'épisode précédent Dans l'épisode précédent 2 Le réseau SERVEURS POSTE CLIENT POSTE CLIENT wifi SERVEURS POSTE CLIENT switch Borne Wifi SERVEURS routeur POSTE CLIENT? SERVEURS SERVEURS SERVEURS POSTE CLIENT SERVEURS 3 Les

Plus en détail

LES SCRIPTS CGI. Présentation Mise en œuvre La programmation Les variables d environnement

LES SCRIPTS CGI. Présentation Mise en œuvre La programmation Les variables d environnement LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement LES SCRIPTS CGI Présentation Mise en œuvre La programmation Les variables d environnement OBJECTIFS Historiquement,

Plus en détail

Protocoles «Application»

Protocoles «Application» Protocoles «Application» Introduction POP3 FTP 07/04/2006 Applications TCP/IP 1 Architecture client/serveur Client WEB (http) TCP IP 2 1 2052 Exemples : Internet Explorer, Mozilla, 80 Serveur WEB (http)

Plus en détail

, en même temps que d autres codes de statuts, non-normalisés mais très utilisés sur le web.

, en même temps que d autres codes de statuts, non-normalisés mais très utilisés sur le web. Liste des codes HTTP Un article de Wikipédia, l'encyclopédie libre. Aller à : Navigation, rechercher Ceci est une liste des codes du protocole HTTP ainsi que les messages généralement associés, dans l

Plus en détail

TP DE PROGRAMMATION RESEAU : LES SOCKETS

TP DE PROGRAMMATION RESEAU : LES SOCKETS - ENSEIRB - TP DE PROGRAMMATION RESEAU : LES SOCKETS Patrice KADIONIK - 1/11- TABLE DES MATIERES www.enseirb.fr/~kadionik 1. BUT DES TRAVAUX PRATIQUES...3 2. SEANCE 1 : UTILISATION DES COMMANDES UNIX/LINUX

Plus en détail

Distribution de contenu 1 - caches web

Distribution de contenu 1 - caches web Distribution de contenu 1 - caches web hristophe Deleuze Grenoble IN ESISAR NE520 2010 2011 roxy élément intermédiaire dans une communication client-serveur passerelle protocoles réseau public/privé paramètres

Plus en détail

XML SUR HTTP ARCHITECTURE REST

XML SUR HTTP ARCHITECTURE REST XML SUR HTTP ARCHITECTURE REST Eric van der Vlist (vdv@dyomedea.com) XML sur HTTP architecture REST Web Services Convention Juin 2004 Eric van der Vlist (vdv@dyomedea.com) REST-- WS Convention 2004 --

Plus en détail

Protection des protocoles www.ofppt.info

Protection des protocoles www.ofppt.info ROYAUME DU MAROC Office de la Formation Professionnelle et de la Promotion du Travail Protection des protocoles DIRECTION RECHERCHE ET INGENIERIE DE FORMATION SECTEUR NTIC Sommaire 1. Introduction... 2

Plus en détail

Configuration de l'authentification LDAP avec Cisco Cache Engine 2.5.1 et versions ultérieures

Configuration de l'authentification LDAP avec Cisco Cache Engine 2.5.1 et versions ultérieures Configuration de l'authentification LDAP avec Cisco Cache Engine 2.5.1 et versions ultérieures Contenu Introduction Conditions préalables Conditions requises Composants utilisés Conventions Informations

Plus en détail

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau) CS WEB Ch 1 Introduction I. INTRODUCTION... 1 A. INTERNET INTERCONNEXION DE RESEAUX... 1 B. LE «WEB» LA TOILE, INTERCONNEXION DE SITES WEB... 2 C. L URL : LOCALISER DES RESSOURCES SUR L INTERNET... 2 D.

Plus en détail

Protocole HTTP. Informatique et Science du Numérique

Protocole HTTP. Informatique et Science du Numérique Protocole HTTP Table des matières 1. Introduction...2 2. Historique...2 3. La commande GET...3 4. Comment travaille le navigateur...4 5. La première requête HTTP...5 6. La page d'accueil...7 7. Le cache...8

Plus en détail

Bases de données et Sites Web. Li345

Bases de données et Sites Web. Li345 Bases de données et Sites Web. Li345 Remerciements à: Stéphane Gançarski et Philippe Rigaux. Ces transparents sont fortement inspirés du très bon livre : Pratique de MySQL et PHP, troisième édition Philippe

Plus en détail

Réseaux. 1 Généralités. E. Jeandel

Réseaux. 1 Généralités. E. Jeandel 1 Généralités Réseaux Couche Application E. Jeandel Couche application Dernière couche du modèle OSI et TCP/IP Échange de messages entre processus Protocole Un protocole de niveau application doit spécifier

Plus en détail

Crédit : Joyent, Inc. Cécile HARDEBOLLE cecile.hardebolle@supelec.fr

Crédit : Joyent, Inc. Cécile HARDEBOLLE cecile.hardebolle@supelec.fr Crédit : Joyent, Inc. Cécile HARDEBOLLE cecile.hardebolle@supelec.fr Prérequis PraDque de JavaScript Compréhension de l'architecture client- serveur web rôle du client vs. rôle du serveur protocole HTTP

Plus en détail

Réseaux. Couche Application. E. Jeandel

Réseaux. Couche Application. E. Jeandel Réseaux Couche Application E. Jeandel 1 Généralités Couche application Dernière couche du modèle OSI et TCP/IP Échange de messages entre processus Protocole Un protocole de niveau application doit spécifier

Plus en détail

Programmation Web. Thierry Hamon

Programmation Web. Thierry Hamon 1/27 Programmation Web Thierry Hamon Bureau H202 - Institut Galilée Tél. : 33 1.48.38.35.53 Bureau 150 LIM&BIO EA 3969 Université Paris 13 - UFR Léonard de Vinci 74, rue Marcel Cachin, F-93017 Bobigny

Plus en détail

Explication des statistiques

Explication des statistiques Explication des statistiques Sources : http://www.eolas.fr/8-conseil/65-interpreter-vos-statistiques-webalizer.htm http://support.sherweb.com/faqdetails.php?idarticle=68 Un site web est un ensemble de

Plus en détail

Le cadre des Web Services Partie 5 : Authentification

Le cadre des Web Services Partie 5 : Authentification Sécurité en ingénierie du Logiciel Le cadre des Web Services Partie 5 : Authentification Alexandre Dulaunoy adulau@foo.be Sécurité en ingénierie du Logiciel p.1/18 Agenda Introduction Authentification

Plus en détail

Web et présentation d information spatiale

Web et présentation d information spatiale Université de La Rochelle LUP-SIG 2004-2005 Programmation SIG et Internet Cartographique Web et présentation d information spatiale Moteurs de recherche et formulaires HTML Jean-Michel FOLLIN jmfollin@univ-lr.fr

Plus en détail

Réseaux. Couche Application. E. Jeandel. Emmanuel.Jeandel at lif.univ-mrs.fr. E. Jeandel, Lif Réseaux, Couche Application 1/12

Réseaux. Couche Application. E. Jeandel. Emmanuel.Jeandel at lif.univ-mrs.fr. E. Jeandel, Lif Réseaux, Couche Application 1/12 Réseaux Couche Application E. Jeandel Emmanuel.Jeandel at lif.univ-mrs.fr E. Jeandel, Lif Réseaux, Couche Application 1/12 Contenu 1 Généralités E. Jeandel, Lif Réseaux, Couche Application 2/12 Couche

Plus en détail

Couche réseau : autour d IP. Claude Chaudet

Couche réseau : autour d IP. Claude Chaudet Couche réseau : autour d IP Claude Chaudet 2 ICMP : Signalisation dans IP Positionnement et rôle d'icmp IP est, en soi, un mécanisme simple dédié à l'acheminement de trames Il ne définit pas de messages

Plus en détail

Formation dev web de base

Formation dev web de base Formation dev web de base Le Web n est pas internet HTTP Hypertext Transfer Protocol Le client envoie une requête au serveur. Le serveur répond avec un code status et un contenu Le navigateur reçoit la

Plus en détail

Architecture des Applications Réticulaires

Architecture des Applications Réticulaires Architecture des Applications Réticulaires Id : cours3.bk 47 2008-03-01 16 :08 :37Z queinnec Christian Queinnec Université Paris 6 Troisième vague 2007-2008 UPMC NI584-2008fev c C.Queinnec 2/19 Plan 1

Plus en détail

Headers, cookies et sessions

Headers, cookies et sessions Headers, cookies et sessions Chargement de fichiers (upload) Entêtes HTTP et redirections Gestion des cookies et des sessions de connexions Authentification Validation des données Programmation avancée

Plus en détail

La VOIP :Les protocoles H.323 et SIP

La VOIP :Les protocoles H.323 et SIP La VOIP :Les protocoles H.323 et SIP PLAN La VOIP 1 H.323 2 SIP 3 Comparaison SIP/H.323 4 2 La VOIP Qu appelle t on VOIP? VOIP = Voice Over Internet Protocol ou Voix sur IP La voix sur IP : Le transport

Plus en détail

Applications orientées données (NSY135)

Applications orientées données (NSY135) Applications orientées données (NSY135) 2 Applications Web Dynamiques Auteurs: Raphaël Fournier-S niehotta et Philippe Rigaux (philippe.rigaux@cnam.fr,fournier@cnam.fr) Département d informatique Conservatoire

Plus en détail

Internet. Web Sécurité Optimisation

Internet. Web Sécurité Optimisation Internet Web Sécurité Optimisation Objectif Survol Web / Optimisation / Sécurité Sommaire 1. Fondamentaux 2. Hotes virtuels 3. Règles de réécriture 4. Optimisations 1. Fondamentaux - DNS fsf.com => 208.73.210.29

Plus en détail

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test?

Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC. Qui contacter pour commencer la mise en place d une configuration de test? Les solutions de paiement CyberMUT (Crédit Mutuel) et P@iement CIC Qui contacter pour commencer la mise en place d une configuration de test? CyberMUT Paiement - Paiement CIC Commerce Electronique mailto:centrecom@e-i.com

Plus en détail

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données Activité sur Meteor Annexe 1 : notion de client-serveur et notion de base de données Notion de client-serveur Que se passe-t-il lorsque vous tapez dans la barre d'adresse de votre navigateur «http://www.google.fr»?

Plus en détail

Les services sur Internet. Messagerie, FTP et Web

Les services sur Internet. Messagerie, FTP et Web Les services sur Internet Messagerie, FTP et Web 1 Service de messagerie (1) Plus connu sous le nom de E-mail (Electronic Mail ou courrier électronique), ce service permet d échanger des messages et des

Plus en détail

SSH, le shell sécurisé

SSH, le shell sécurisé , le shell sécurisé Objectifs : 1. Présenter le protocole et les outils associés Sébastien JEAN Pourquoi 1/2? Les services standards ne supportent que peu de propriétés de sécurité souvent l identification,

Plus en détail

Cours réseaux. IUT 1 Université de Lyon

Cours réseaux. IUT 1 Université de Lyon Cours réseaux IUT 1 Université de Lyon Plan du cours 8 séances de 2 heures 5 séance de cours 2 séances de TD 2 contrôles continus 1 TP 1 DS (tous les groupes) Fonctionnement Polycopié Prise de notes aidée

Plus en détail

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014

ARCHITECTURE REST & WEB SERVICES. Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 ARCHITECTURE REST & WEB SERVICES Exposé Informatique & Réseaux CHAMBON Florian 14 janvier 2014 1 Introduction Présentation de Rest Serveur Java JAX-RS Démonstration 2 Introduction Présentation de Rest

Plus en détail

Conception des réseaux Contrôle Continu 1

Conception des réseaux Contrôle Continu 1 NOM: PRENOM: Conception des réseaux Contrôle Continu 1 Durée : 2 heures Seuls les documents manuscrits ou distribués en cours sont autorisés. Les réponses doivent tenir dans l encadré prévu à cet effet

Plus en détail

Le client/serveur dans le cas du Web

Le client/serveur dans le cas du Web Le client/serveur dans le cas du Web Olivier Flauzac & Cyril Rabat olivier.flauzac@univ-reims.fr cyril.rabat@univ-reims.fr Licence 3 Info - Info0503 - Introduction à la programmation client/serveur 2015-2016

Plus en détail

Actuellement dans le réseau, des millions. Problèmes. d'authentification :

Actuellement dans le réseau, des millions. Problèmes. d'authentification : Problèmes d'authentification HTTP Pratique Emilio Casbas Degré de difficulté Le protocole HTTP nous offre le mécanisme d'autorisation de type requête-réponse qui peut être exploité par un serveur en réseau

Plus en détail

GUIDE D'UTILISATION DU TRANSFERT DE FICHIERS À LA RAMQ

GUIDE D'UTILISATION DU TRANSFERT DE FICHIERS À LA RAMQ Régie de l'assurance maladie du Québec GUIDE D'UTILISATION DU TRANSFERT DE FICHIERS À LA RAMQ Service des technologies et Service de la planification, de la coordination et du soutien Juin 1999 TABLE

Plus en détail

Internet. Web Sécurité Optimisation

Internet. Web Sécurité Optimisation Internet Web Sécurité Optimisation Objectif Survol Web / Optimisation / Sécurité Sommaire 1. Fondamentaux 2. Hotes virtuels 3. Règles de réécriture 4. Optimisations 1. Fondamentaux - DNS fsf.com => 208.73.210.29

Plus en détail

Projet Master 1/2 - Compte rendu de réunion

Projet Master 1/2 - Compte rendu de réunion Projet Master 1/2 - Compte rendu de réunion N Projet: 5 Titre Projet: Nabaztag Nom Etudiants: Marie Lopez, Michaël Grillet et Ahmed Ebety Date de réunion (obligatoire): 10/04/2012 Personnes présentes (obligatoire):

Plus en détail

GENERALITES. COURS TCP/IP Niveau 1

GENERALITES. COURS TCP/IP Niveau 1 GENERALITES TCP/IP est un protocole inventé par les créateurs d Unix. (Transfer Control Protocol / Internet Protocole). TCP/IP est basé sur le repérage de chaque ordinateur par une adresse appelée adresse

Plus en détail

INTRODUCTION AU WEB ARCHITECTURE DU WEB INTRODUCTION AU WEB ARCHITECTURE DU WEB JEAN-PIERRE LOZI 1

INTRODUCTION AU WEB ARCHITECTURE DU WEB INTRODUCTION AU WEB ARCHITECTURE DU WEB JEAN-PIERRE LOZI 1 INTRODUCTION AU WEB ARCHITECTURE DU WEB Par Jean-Pierre Lozi Basé sur les cours d Andrea Tettamanzi et Philippe Renevier INTRODUCTION AU WEB ARCHITECTURE DU WEB JEAN-PIERRE LOZI 1 PRÉSENTATION/PROGRAMME

Plus en détail

Optimisation de serveurs web

Optimisation de serveurs web Optimisation de serveurs web Christian Quest cquest@cquest.org 21 juin 01 4 Optimiser: pourquoi? Améliorer la qualité de service: - Réduire les temps de réponses - Réduire les temps de transfert et d'affichage

Plus en détail

PHP/MYSQL. Web Dynamique

PHP/MYSQL. Web Dynamique PHP/MYSQL Web Dynamique ENSG Juin 2008 Qui suis-je? Guillaume Gautreau Responsable projets Systèmes d information à l ENPC guillaume@ghusse.com http://www.ghusse.com Ces 6 jours de formation Jour 1 : présentations,

Plus en détail

Que désigne l'url donnée au navigateur?

Que désigne l'url donnée au navigateur? Que désigne l'url donnée au navigateur? http://www-poleia.lip6.fr/~jfp/istm/tp6/index.html Le protocole : pourquoi? Parce que la manière d'indiquer une adresse dépend du service postal utilisé... Le serveur

Plus en détail

Internet. e-commerce

Internet. e-commerce Internet e-commerce Objectif e-commerce top-down Sommaire 1. Business models 2. e-commerce 3. Fondamentaux 4. Hôtes virtuels 5. Outils 2 / 45 Le commerce électronique ou vente en ligne, désigne l'échange

Plus en détail

Mesure d'audience sur Internet

Mesure d'audience sur Internet Mesure d'audience sur Internet différences fondamentales entre les solution basées sur les journaux et celles utilisant le marquage de site. L objectif de ce document est de répondre à la question légitime

Plus en détail

Internet, comment ça marche?

Internet, comment ça marche? Internet, comment ça marche? Émeric Tourniaire 14 octobre 2015 Table of contents Internet Protocoles Quand ça ne marche pas Conclusion Internet, c est quoi? Des ordinateurs (mais pas que) Des Systèmes

Plus en détail

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29

FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET. Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS PAIEMENT PAR INTERNET Nom de fichier : Monetico_Paiement_Foire_aux_Questions_v1.7 Numéro de version : 1.7 Date : 2014-05-29 FOIRE AUX QUESTIONS Confidentiel Titre du document : Monetico

Plus en détail

Accéder à des services web RestFul

Accéder à des services web RestFul Accéder à des services web RestFul c 'est quoi un «service web» des fonctionnalités d'une application exposées et accessibles à distance au travers d'une api construite au dessus de http (i.e. Avec des

Plus en détail

SIP Session Initiation Protocol

SIP Session Initiation Protocol SIP Session Initiation Protocol 1 Introduction...3 2 SIP (Session Initiation Protocol)...3 2.1 But...3 2.2 SIP URI (Uniform Resource Identifier)...3 2.3 Eléments réseaux du SIP...3 2.3.1 User Agents (UA)...3

Plus en détail

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI

MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Claire Billaud - 3ème année IS MINI-PROJET : ETUDE D UN MECANISME DE REDIRECTION DE PAGES WEB POUR AUTHENTIFIER UN UTILISATEUR WIFI Page 1 sur 9 Principe : On veut faire en sorte que le réseau interne

Plus en détail