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

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

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

Transcription

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

2 Des connexions éphémères Client, serveur et intermédiaires Ouverture / fermeture d une nouvelle connexion par document échangé (processus lent) 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 Il peut y avoir plusieurs intermédiaires... Client (user agent) Cache Intermédiaire (proxie, gateway, tunnel) Cache Serveur (origin server) Si on peut efficacement gérer les caches on optimise la charge du réseau on améliore le confort de l utilisateur - HTTP/0.9 - Lacunes et limitations - - HTTP/0.9 - Lacunes et limitations - Soumission de formulaires Statut de la réponse Nécessité d un échange bidirectionnel Nom : Prénom : Option TIC? : Oui Non GET POST Réponse du serveur Le client doit pouvoir envoyer au serveur des données fournies par l utilisateur Serveur > 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! - HTTP/0.9 - Lacunes et limitations - - HTTP/0.9 - Lacunes et limitations - RFC 1945 : Mai 1996 : la RFC 1945 spécifie le protocole la version précédente est appelée HTTP/0.9 - Introduction - - Forme de la requête - - Forme de la réponse - - Gestion des caches - - Authentification - - Evolutions - 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) - - Introduction -

3 Exemple de session > telnet 80 GET User-Agent: Mozilla/4.03 [fr] 200 Ok <HTML> </HTML> Connection closed by foreign host > - Forme de la requête - 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 - - Introduction - Forme de la requête URLs relatives et serveurs virtuels GET Méthode (GET, HEAD ou POST) URI de la ressource (en fait, URL - relative ou absolue) version HTTP du client () 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 telnet GET /index.html GET /index.html Serveur 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 ou Requête Requête - Entêtes de la requête Entête générique 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 Date: Mon, 30 Aug :54:39 GMT User-Agent: Mozilla/4.03 [en] Content-Length: 0 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 - - Requête - Entêtes Requête - Entêtes -

4 Entête de la requête Entête de l entité From: webmaster@ec-lyon.fr 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 : 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 User-Agent: Mozilla/4.03 [en] (Win95; I) User-Agent: Mozilla/4.0 (compatible; MSIE 4.01; Windows 95) - - Requête - Entêtes Requête - Entêtes - 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 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 - Forme de la réponse Requête - Forme de la réponse Statuts 2xx (Success) 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 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 - - Réponse Réponse - Statuts -

5 Statuts 3xx (Redirection) Statuts 4xx (Client Error) HTTP/ Multiple Choices HTTP/ Moved Permanently HTTP/ Moved Temporarily HTTP/ (Bad Request) HTTP/ (Unauthorized) HTTP/ (Forbidden) HTTP/ (Not Found) 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) 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é) - - Réponse - Statuts Réponse - Statuts - Statuts 5xx (Server Error) Entêtes de la réponse 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. 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) 200 Ok Date: Mon, 31 Aug :10:18 GMT Pragma: no-cache Server: Microsoft-IIS/4.0 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 - - Réponse - Statuts Réponse - Entêtes - Entête de la réponse Entête de l entité Location: 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) 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 - - Réponse - Entêtes Réponse - Entêtes -

6 Corps de l entité 200 Ok 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. - Gestion des caches Réponse - Gestion des caches La directive Expires Client Proxie Passerelle Serveur Client Proxie Serveur Cache Cache Cache Validité de la copie cachée? 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é) - - Gestion des caches - 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. - - Gestion des caches - 1. La méthode HEAD 2. GET conditionnel HEAD HTTP/ OK Date: Wed, 01 Sep :48:35 GMT Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 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. 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 If-Modified-Since: Wed, 07 Jul :00:01 GMT HTTP/ Not Modified Date: Wed, 01 Sep :05:52 GMT 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 - - Gestion des caches Gestion des caches -

7 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 Ok Date: Wed, 01 Sep :05:52 GMT Expires: Wed, 01 Sep :05:52 GMT Content-Length : 89 Pragma: no-cache <HTML> <HEAD><TITLE> My first try </TITLE></HEAD> <BODY>Hello World!</BODY> </HTML> - Authentification Gestion des caches - Demande d authentification 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/ Authorization Required Date: Wed, 01 Sep :34:32 GMT WWW-Authenticate: Basic realm="gestion du serveur ECL" 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 est : Basic - - Authentification - GET Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ== L'exemple ci-dessus correspond à l'envoi du nom d'utilisateur "Alladin" 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. - - Authentification - Connection: Keep-Alive 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 - Evolutions - HEAD / Connection: Keep-Alive Problème avec les intermédiaires qui ne comprennent pas cette directive HTTP/ OK Date: Thu, 02 Sep :31:07 GMT Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 Keep-Alive: timeout=15, max=100 Connection: Keep-Alive - - Evolutions -

8 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 realm="testrealm@host.com", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41" Provoque une nouvelle requête avec la directive : Authorization: Digest username="mufasa", realm="testrealm@host.com", uri="/dir/index.html", nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093", opaque="5ccc069c403ebaf9f0171e9517f40e41", response="e966c932a e42c8ee200cec7f6", - - 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 - - Evolutions - RFC 2616 : HTTP/1.1 HTTP/1.1 - Introduction - - Méthodes - - Gestion des caches - 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 : connections multiples (1 par requête) problème des serveurs virtuels (URI absolue obligatoire) caching au mieux primitif, sinon inexistant (méthodes de gestion des caches insuffisantes) - HTTP/1.1 - Introduction - Problème des connexions multiples Problème des serveurs virtuels 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) - HTTP/1.1 - Introduction - 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 (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 HTTP/ Ok - HTTP/1.1 - Introduction -

9 Transfer-Encoding : Chunked En, 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 HTTP/1.1 - Méthodes <HTML><HEAD><TITLE>400 Bad Request</TITLE></HEAD><BODY> <H1>Bad Request</H1> </BODY></HTML> 0 - HTTP/1.1 - Introduction - Méthodes sûres et idempotentes La méthode OPTIONS 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... 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 HTTP/ OK Date: Mon, 06 Sep :02:56 GMT 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. - HTTP/1.1 - Méthodes - - HTTP/1.1 - Méthodes - 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 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. - 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 HTTP/ OK Date: Wed, 01 Sep :48:35 GMT Last-Modified: Tue, 06 Jul :06:08 GMT Content-Length: 5953 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. - HTTP/1.1 - Méthodes -

10 La méthode POST La méthode PUT 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 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. - HTTP/1.1 - Méthodes - 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. - HTTP/1.1 - Méthodes - La méthode DELETE La méthode TRACE 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 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. - HTTP/1.1 - Méthodes - 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 HTTP/ OK Transfer-Encoding: chunked Content-Type: message/http 2a TRACE / HTTP/1.1 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. - HTTP/1.1 - Méthodes - 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 : HTTP/1.1 - Gestion des caches - PUT /tagada.html HTTP/1.1 If-None-Match: * - HTTP/1.1 - Méthodes -

11 Entités partielles 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 Range: bytes= 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. - HTTP/1.1 - Gestion des caches - - HTTP/1.1 - Gestion des caches - Entités partielles Validation d'une entité cachée Lorsqu'un client dispose d'une entité partielle dans son cache, et qu'il désire la récupérer en entier : Il demande les parties manquantes de l'entité à l'aide d'un GET conditionnel assorti d'une directive If-Unmodified-Since ou If-Match Si le document a été modifié, il doit ensuite refaire une requête pour la récupérer en entier La directive If-Range effectue ce travail en une seule opération : GET /sh_ecl-bienvenue.gif HTTP/1.1 Range: bytes=1001- If-Range: Thu, 13 Mar :54:45 GMT If-Range signifie : si l'entité a été modifiée, alors il me la faut en entier, sinon je me contenterai de l'extrait spécifié - HTTP/1.1 - Gestion des caches - permet de valider une entité cachée à l'aide d'une date (cf. directives Last-Modified, If-Modified-Since). Ceci est parfois insuffisant (résolution = 1s), et la date de dernière modification est parfois très difficile à déterminer pour le serveur (cf. documents construits à la volée à partir d'extraits de bases de données). HTTP/1.1 propose un autre mécanisme, basé sur l'envoi par le serveur d'un identifiant unique, pour chaque entité d'une ressource donnée. Cet identifiant pourrait être obtenu en incrémentant un compteur à chaque fois qu'un document est modifié, ou en calculant sa checksum MD5. HEAD / HTTP/1.1 HTTP/ OK Last-Modified: Tue, 06 Jul :06:08 GMT ETag: " b60" Content-Length: HTTP/1.1 - Gestion des caches - Validation d'une entité cachée La directive Cache-Control Une requête du type GET rendu conditionnelle avec If-None-Match permet d'obtenir un effet similaire à celui obtenu avec If-Modified-Since pour récupérer une ressource qui aurait été modifiée : GET /index.html HTTP/1.1 If-None-Match: " b60" HTTP/ Not Modified Date: Mon, 06 Sep :55:57 GMT ETag: " b60" If-None-Match peut être utilisée en conjonction avec If-Modfied-Since, qui s'interprète alors comme : à moins que la ressource n'ait été modifiée depuis... HTTP/1.1 introduit la notion de caches partagé / privé et permet une gestion beaucoup plus fine de la cachabilité d'une entité et de la date d'expiration d'une copie cachée. La directive Cache-Control précise quel doit être le comportement des caches. Cette directive générique peut être associée à une requête ou à une réponse. Elle doit être transmise tout au long de la chaîne des intermédiaires sans être modifiée par aucun d'eux, puisqu'elle s'adresse à tous les éléments de cette chaîne disposant d'un cache. - HTTP/1.1 - Gestion des caches - - HTTP/1.1 - Gestion des caches -

12 Cachabilité d'une entité Date d'expiration Cache-Control: public Cache-Control: private Cache-Control: no-cache Cache-Control: no-store public : l'entité peut être cachée. Permet par exemple d'autoriser la mise en cache de la réponse à une requête POST private : l'entité ne peut être cachée que par un cache privé, c'est à dire celui du poste de travail de l'utilisateur final. no-cache : l'entité ne doit pas être cachée. no-store : l'entité ne doit pas être stockée en mémoire non volatile (cf. disque dur, bande de sauvegarde ) - HTTP/1.1 - Gestion des caches - Cache-Control: public, max-age=864000, s-maxage= Cache-Control: must-revalidate Expires: Mon, 06 Sep :55:57 GMT max-age : l'entité peut être cachée. Lorsque son âge aura dépassé la durée spécifiée ( secondes = 10 jours), elle devra être considérée comme périmée. s-maxage : l'entité peut être cachée. Lorsque son âge aura dépassé la durée spécifiée ( secondes = 5 jours), un cache partagé devra la considérer comme périmée. must-revalidate : il est interdit de délivrer une copie périmée. Expires : indique la date limite de consommation d'une entité. - HTTP/1.1 - Gestion des caches - Non-respect de la date d'expiration La directive Warning Cache-Control: max-age=3600 Cache-Control: min-fresh=7200 Cache-Control: max-stale=86400 Cache-Control: only-if-cached max-age : le client n'acceptera pas une entité cachée pendant plus de la durée spécifiée (3600 secondes = 1h) min-fresh : le client désire une entité dont la durée de validité est encore au moins égale à la durée spécifiée (7200 secondes = 2h) max-stale : le client accepte une entité périmée, à condition qu'elle ne le soit pas depuis plus de la durée spécifiée (86400 secondes = 1 jour) only-if-cached : le client ne désire l'entité que si elle est cachée (utile en cas de forte congestion du réseau) Warning: "Response is stale" Warning: "Revalidation failed" Warning: "Disconnected operation" La directive Warning permet de donner des informations supplémentaires, qui n'apparaîtraient pas autrement dans le message Response is stale : doit impérativement être précisé à chaque fois qu'un intermédiaire envoie une copie périmée à un client (même si celuici l'a demandé) Revalidation failed : l'intermédiaire a cherché à rafraîchir sa copie, mais n'a pas réussi (serveur inaccessible) Disconnected operation : l'intermédiaire est temporairement déconnecté du réseau et ne peut rafraîchir sa copie - HTTP/1.1 - Gestion des caches - - HTTP/1.1 - Gestion des caches - Références World-Wide Web: The information Universe, Tim Berners-Lee, Robert Cailliau et al., Feb The original HTTP as defined in 1991, Tim Berners-Lee RFC Requirements for Internet Hosts -- Application and Support, R. Braden, Octobre1989 RFC The MD5 Message-Digest Algorithm, R. Rivest, Avril 1992 RFC Hypertext Transfer Protocol, Tim Berners-Lee et al., Mai 1996 RFC HTTP/1.1 - Hypertext Transfer Protocol, Roy Fielding et al., Juin 1999 RFC HTTP Authentication: Basic and Digest Access Authentication, J. Franks et al., Juin 1999

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

Le protocole HTTP. 10 minutes pour comprendre. HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1 Le protocole HTTP 10 minutes pour comprendre HTTP/0.9 - Lacunes et limitations HTTP/1.0 HTTP/1.1 http://tic01.tic.ec-lyon.fr/~muller/cours-tdw/http.pdf http://tic01.tic.ec-lyon.fr/~muller/cours-tdw/httpbw.pdf

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

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

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

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

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

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

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

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

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

«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

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

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

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

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

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

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

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

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

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

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii

WebDAV en 2 minutes. Tous ces objectifs sont complémentaires et ils sont atteints grâce au seul protocole WebDAV. Scénarii WebDAV en 2 minutes le but affirmé du groupe de travail WebDAV (DAV) est (pour ses concepteurs) de "définir les extensions de HTTP nécessaires pour assurer la disponibilité d'outils WEB de création collective

Plus en détail

INF8007 Langages de script

INF8007 Langages de script INF8007 Langages de script Sockets et serveur 1/18 INF8007 Langages de script Sockets et serveur Michel Desmarais Génie informatique et génie logiciel École Polytechnique de Montréal Hiver, 2014 INF8007

Plus en détail

Chapitre : Les Protocoles

Chapitre : Les Protocoles Chapitre : Les Protocoles Outils de l Internet Joyce El Haddad DU1 MI2E Université Paris Dauphine 2009-2010 1 Plan 1. Le modèle TCP/IP 2. Les adresses IP 3. Le Protocole IP 4. Le Protocole TCP 5. Les Protocoles

Plus en détail

SERVEUR HTTP Administration d apache

SERVEUR HTTP Administration d apache 1 SERVEUR HTTP Administration d apache PLAN Introduction: Présentation HTTP; Installation et configuration d apache; VirtualHosts; Aliasing; Limitation d accès. 2 PROTOCOLE HTTP PRÉSENTATION HTTP : HyperText

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

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement

SIP. Plan. Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement SIP Nguyen Thi Mai Trang LIP6/PHARE Thi-Mai-Trang.Nguyen@lip6.fr UPMC - M2 Réseaux - UE PTEL 1 Plan Introduction Architecture SIP Messages SIP Exemples d établissement de session Enregistrement UPMC -

Plus en détail

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol

Divers éléments. Protocoles d'applications. Un agent Utilisateur. MUA - Agents Utilisateurs de Courriel. Simple Mail Transfer Protocol IUT IUT d'orsay réseaux réseaux Protocoles d'applications Le courrier électronique Divers éléments POP3 IMAP protocole de transport format de l entête, de ses champs, des adresses électroniques standard

Plus en détail

Linux sécurité des réseaux

Linux sécurité des réseaux Linux sécurité des réseaux serveurs mandataires (proxy) fbongat@ipsl.jussieu.fr 2007-2008 Qu'est-ce qu'un proxy? = mandataire (traduction) Un proxy est un service mandataire pour une application donnée.

Plus en détail

API ONE-TIME PASSWORD

API ONE-TIME PASSWORD PLATEFORME SAAS D'ENVOI DE SMS Guide du débutant API ONE-TIME PASSWORD UTILISER LA PLATEFORME SMSMODE DOCUMENTATION TECHNIQUE QU'EST-CE QUE L'API OTP? Notre solution technique pour l OTP (One Time Password)

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

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères FORMATION PcVue Mise en œuvre de WEBVUE Journées de formation au logiciel de supervision PcVue 8.1 Lieu : Lycée Pablo Neruda Saint Martin d hères Centre ressource Génie Electrique Intervenant : Enseignant

Plus en détail

Introduction. Adresses

Introduction. Adresses Architecture TCP/IP Introduction ITC7-2: Cours IP ESIREM Infotronique Olivier Togni, LE2I (038039)3887 olivier.togni@u-bourgogne.fr 27 février 2008 L Internet est basé sur l architecture TCP/IP du nom

Plus en détail

Protocoles DHCP et DNS

Protocoles DHCP et DNS Protocoles DHCP et DNS DHCP (Dynamic Host Configuration Protocol) est un protocole qui permet à un serveur DHCP (Unix, Windows, AS400...) d'affecter des adresses IP temporaires (et d'autres paramètres)

Plus en détail

Cours CCNA 1. Exercices

Cours CCNA 1. Exercices Cours CCNA 1 TD3 Exercices Exercice 1 Enumérez les sept étapes du processus consistant à convertir les communications de l utilisateur en données. 1. L utilisateur entre les données via une interface matérielle.

Plus en détail

18 TCP Les protocoles de domaines d applications

18 TCP Les protocoles de domaines d applications 18 TCP Les protocoles de domaines d applications Objectifs 18.1 Introduction Connaître les différentes catégories d applications et de protocoles de domaines d applications. Connaître les principaux protocoles

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

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP.

Plan. Le système de transfert de fichiers d'internet. Introduction aux systèmes de transfert de fichiers Le protocole FTP. Le système de transfert de fichiers d'internet Bernard Cousin Université de Rennes I laboratoire IRISA http://www.univ-rennes1.fr/ Plan Introduction aux systèmes de transfert de fichiers Le protocole FTP

Plus en détail

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN

Les Réseaux Privés Virtuels (VPN) Définition d'un VPN Les Réseaux Privés Virtuels (VPN) 1 Définition d'un VPN Un VPN est un réseau privé qui utilise un réseau publique comme backbone Seuls les utilisateurs ou les groupes qui sont enregistrés dans ce vpn peuvent

Plus en détail

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B

Protocole SIP et rc o d n o C ée yc L N E S ro P c a B Protocole SIP 1 - La définition du protocole SIP, signifiant Session Initiation Protocole, vient du monde de l'informatique contrairement aux autres. SIP a été initié à l'origine par le groupe MMusic (Multiparty

Plus en détail

Les messages d erreur d'applidis Client

Les messages d erreur d'applidis Client Fiche technique AppliDis Les messages d erreur d'applidis Client Fiche IS00313 Version document : 1.00 Diffusion limitée : Systancia, membres du programme Partenaires AppliDis et clients ou prospects de

Plus en détail

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall Internet DNS World Wide Web Mécanismes de base Exécution d'applications sur le web Divers Proxy, fire-wall 1 Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet

Plus en détail

Les services usuels de l Internet

Les services usuels de l Internet Les services usuels de l Internet Services principaux (applications) disponibles sur l Internet Courrier électronique (mail) - protocole SMTP (Simple Mail Transfer Protocol) inclut maintenant tous types

Plus en détail

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM

SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM SYSTEME DE GESTION DES ENERGIES EWTS EMBEDDED WIRELESS TELEMETRY SYSTEM Copyright TECH 2012 Technext - 8, avenue Saint Jean - 06400 CANNES Société - TECHNEXT France - Tel : (+ 33) 6 09 87 62 92 - Fax :

Plus en détail

Outils de l Internet

Outils de l Internet Outils de l Internet -Infrastructures des réseaux nationaux -Protocoles et RFC -Applications - Netscape 6 -Techniques de recherche sur l Internet P.Razac/CNAM - Outils de l'internet 1 Infrastructures des

Plus en détail

Les commandes relatives aux réseaux

Les commandes relatives aux réseaux SHELL Les commandes relatives aux réseaux L'accès aux ou via les réseaux est devenu vital, aussi, les commandes traditionnelles de connexion et de transfert de fichiers ont été remplacées par des commandes

Plus en détail

Proxies,, Caches & CDNs

Proxies,, Caches & CDNs Proxies,, Caches & CDNs Anthony Busson Plan Exemple de page web simple Anatomie du téléchargement d une page web Problématique Définition : Proxy, Reverse Proxy Interception, Redirection Système de cache

Plus en détail

Couche application. La couche application est la plus élevée du modèle de référence.

Couche application. La couche application est la plus élevée du modèle de référence. Couche application La couche application est la plus élevée du modèle de référence. Elle est la source et la destination finale de toutes les données à transporter. Couche application La couche application

Plus en détail

Couches 4 à 7 : Traitement des données

Couches 4 à 7 : Traitement des données Chapitre 8 1 Couches 4 à 7 : Traitement des données Couche 4 OSI : Transport 2 Cette couche est la charnière entre les fonctions qui traitent de la communication et celle qui traitent de l'exploitation.

Plus en détail

Services Réseaux - Couche Application. TODARO Cédric

Services Réseaux - Couche Application. TODARO Cédric Services Réseaux - Couche Application TODARO Cédric 1 TABLE DES MATIÈRES Table des matières 1 Protocoles de gestion de réseaux 3 1.1 DHCP (port 67/68)....................................... 3 1.2 DNS (port

Plus en détail

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5

Le service FTP. M.BOUABID, 04-2015 Page 1 sur 5 Le service FTP 1) Présentation du protocole FTP Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique de fichiers sur

Plus en détail

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6 1 BERNIER François http://astronomie-astrophotographie.fr Table des matières Installation d un serveur HTTP (Hypertext Transfer

Plus en détail

Introduction à l'internet et ces Protocoles

Introduction à l'internet et ces Protocoles Techniques de Programmation pour Internet Année Spéciale Informatique ENSIMAG 2000-2001 James L. Crowley Séance 1 31 janvier 2001 Plan : Introduction à l'internet et ces Protocoles Objectifs du cours PSW...2

Plus en détail

Manuel d'installation

Manuel d'installation CyberMUT P@iement P@iement CIC P@iement OBC SERVICE SECURISE DE PAIEMENT INTERNET PAR CARTE BANCAIRE (Sécurisé par le protocole SSL) Manuel d'installation (Document 2/2) EURO Sp.Tech. 1.2.8 Octobre 2001

Plus en détail

WebSSO, synchronisation et contrôle des accès via LDAP

WebSSO, synchronisation et contrôle des accès via LDAP 31 mars, 1er et 2 avril 2009 WebSSO, synchronisation et contrôle des accès via LDAP Clément Oudot Thomas Chemineau Sommaire général Synchronisation d'identités WebSSO et contrôle des accès Démonstration

Plus en détail

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session

Couche Session M1 Info Z. Mammeri - UPS 1. Concept de session Introduction à SIP (Session Initiation Protocol) M1 Info Cours de Réseaux Z. Mammeri Couche Session M1 Info Z. Mammeri - UPS 1 1. Introduction Concept de session Session : période pendant laquelle un groupe

Plus en détail

Stockage du fichier dans une table mysql:

Stockage du fichier dans une table mysql: Stockage de fichiers dans des tables MYSQL avec PHP Rédacteur: Alain Messin CNRS UMS 2202 Admin06 30/06/2006 Le but de ce document est de donner les principes de manipulation de fichiers dans une table

Plus en détail

Le serveur HTTPd WASD. Jean-François Piéronne

Le serveur HTTPd WASD. Jean-François Piéronne Le serveur HTTPd WASD Jean-François Piéronne Sommaire Caractéristiques Architecture générale Performances Intégration dans OpenVMS Caractéristiques Implémentation complète HTTP/1.0 Méthodes "GET", "HEAD",

Plus en détail

Windows Internet Name Service (WINS)

Windows Internet Name Service (WINS) Windows Internet Name Service (WINS) WINDOWS INTERNET NAME SERVICE (WINS)...2 1.) Introduction au Service de nom Internet Windows (WINS)...2 1.1) Les Noms NetBIOS...2 1.2) Le processus de résolution WINS...2

Plus en détail

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant

COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST. Amosse EDOUARD, Doctorant COMPRENDRE L ARCHITECTURE DES WEB SERVICES REST Amosse EDOUARD, Doctorant Organisation Cours Magistral 24/11/2014 26/11/2014 01/12/2014 Travaux Dirigés 26/11/2014 28/11/2014 01/11/2014 08/11/2014 Evaluation

Plus en détail

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi Un exemple d'authentification sécurisée utilisant les outils du Web : CAS 111 L authentification CAS : «Central Authentication Service» CAS ou le service central d authentification Le système CAS, développé

Plus en détail

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt

Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt Client sur un domaine stage personnes ressources réseau en établissement janvier 2004 Formateurs : Jackie DAÖN Franck DUBOIS Médiapôle de Guyancourt Lycée de Villaroy 2 rue Eugène Viollet Le Duc BP31 78041

Plus en détail

API SMS HTTP REST. Intégrer facilement le service Envoyer SMS Pro avec votre application métier. Version : 2.9.0 Révision : 03/09/2014 Page 1/31

API SMS HTTP REST. Intégrer facilement le service Envoyer SMS Pro avec votre application métier. Version : 2.9.0 Révision : 03/09/2014 Page 1/31 API SMS HTTP REST Intégrer facilement le service Envoyer SMS Pro avec votre application métier Révision : 03/09/2014 Page 1/31 REVISIONS Version Date Description Auteur 2.1.0 23/05/2011 Ajout de méthode

Plus en détail

Configuration du driver SIP dans ALERT. V2

Configuration du driver SIP dans ALERT. V2 Micromedia International Etude technique Configuration d Alert pour SIP Auteur : Pierre Chevrier Société : Micromedia International Date : 26/08/2013 Nombre de pages : 19 Configuration du driver SIP dans

Plus en détail

Développement des Systèmes d Information

Développement des Systèmes d Information Développement des Systèmes d Information Axe ISI Camille Persson Institut Fayol / LSTI / ISCOD École Nationale Supérieure des Mines de Saint-Etienne 158 cours Fauriel, 42000 Saint-Etienne persson@emse.fr

Plus en détail

Développement Web. Les protocoles

Développement Web. Les protocoles Développement Web NFA016 2007-2008 Les protocoles CNAM le 28 octobre 2007 O. Pons S. Rosmorduc M. Simonot 1 / 27 Notion de protocole Un réseau : ensemble de machines reliées entre elles. Communiquer :

Plus en détail

Dynamic Host Configuration Protocol

Dynamic Host Configuration Protocol Dynamic Host Configuration Protocol 1 2 problèmes de gestion avec IP La Gestion des adresses IP Les adresses IP doivent être unique Nécessité d une liste d ordinateurs avec leurs adresses IP respectives

Plus en détail

Paiement sécurisé sur Internet. Documentation Technique

Paiement sécurisé sur Internet. Documentation Technique Paiement sécurisé sur Internet Documentation Technique SOMMAIRE Documentation Technique 1 1 Mise en place de l interface de paiement 3 1.1 Introduction 3 1.2 Clé de sécurité commerçant 3 1.3 Spécifications

Plus en détail

La mémorisation des mots de passe dans les navigateurs web modernes

La mémorisation des mots de passe dans les navigateurs web modernes 1 La mémorisation des mots de passe dans les navigateurs web modernes Didier Chassignol Frédéric Giquel 6 décembre 2005 - Congrès JRES 2 La problématique Multiplication des applications web nécessitant

Plus en détail

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java.

Extension SSO Java. Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. Note technique W4 Engine Extension SSO Java Cette note technique décrit la configuration et la mise en œuvre du filtre de custom SSO Java. 1 Présentation 3 2 Custom SSO Java 4 3 Bilan 10 Sommaire Référence

Plus en détail

Module http MMS AllMySMS.com Manuel d intégration

Module http MMS AllMySMS.com Manuel d intégration Module http MMS AllMySMS.com Manuel d intégration Objectif du document... 3 1 Envoi de MMS par requête http... 4 1.1 Format de la requête utilisée... 4 1.2 Arborescence et explication des balises du flux

Plus en détail

Proxy et reverse proxy. Serveurs mandataires et relais inverses

Proxy et reverse proxy. Serveurs mandataires et relais inverses Serveurs mandataires et relais inverses Qu'est-ce qu'un proxy? Proxy = mandataire (traduction) Un proxy est un service mandataire pour une application donnée. C'est à dire qu'il sert d'intermédiaire dans

Plus en détail

Hébergement de site web Damien Nouvel

Hébergement de site web Damien Nouvel Hébergement de site web Plan L'hébergeur Le serveur web Apache Sites dynamiques 2 / 27 Plan L'hébergeur Le serveur web Apache Sites dynamiques 3 / 27 L'hébergeur L'hébergeur sous-traite l'architecture

Plus en détail

FTP & SMTP. Deux applications fondamentales pour le réseau Internet.

FTP & SMTP. Deux applications fondamentales pour le réseau Internet. & SMTP Deux applications fondamentales pour le réseau Internet. File Transfer Protocol Protocole d'échange de fichier : envoi / réception de fichiers au dessus de TCP client (machine de l utilisateur)

Plus en détail

Réseaux et protocoles Damien Nouvel

Réseaux et protocoles Damien Nouvel Réseaux et protocoles Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles applicatifs pour les sites web Requêtes HTTP 2 / 35 Plan Les couches du réseau Suite de protocoles TCP/IP Protocoles

Plus en détail

Cisco Certified Network Associate

Cisco Certified Network Associate Cisco Certified Network Associate Version 4 Notions de base sur les réseaux Chapitre 3 01 Quel protocole de la couche application sert couramment à prendre en charge les transferts de fichiers entre un

Plus en détail

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009 HTTP Technologies du Web Programmation Web côté serveur Pierre Senellart (pierre.senellart@telecom-paristech.fr) Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009 P. Senellart (TELECOM

Plus en détail

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières

FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE. Table des matières FTPS AVEC UNE APPLIANCE FAST360 EN COUPURE Table des matières Principes de FTPS... 2 Généralités... 2 FTPS en mode implicite... 2 FTPS en mode explicite... 3 Certificats SSL / TLS... 3 Atelier de tests

Plus en détail

Internet et Programmation!

Internet et Programmation! Licence STS Informatique - Semestre 1! BUT de l enseignement:!! Comprendre une grande partie des termes utilisés dans l écriture des pages actuellement véhiculées sur le NET!! Et tendre vers une écriture

Plus en détail

Teste et mesure vos réseaux et vos applicatifs en toute indépendance

Teste et mesure vos réseaux et vos applicatifs en toute indépendance Teste et mesure vos réseaux et vos applicatifs en toute indépendance 2013 J3TEL en quelques minutes Groupe HBG en bref : Siège social à Paris 1100 employés dans 6 pays 150 M d de CA en 2012 Des activités

Plus en détail

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE

NOTICE INSTALLATION. ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE NOTICE INSTALLATION ARCHANGE WebDAV Office N&B/Couleur KONICA MINOLTA BUSINESS SOLUTIONS FRANCE Date Version Marque de révision Rédaction 02/08/2012 3 - Benjamin VERGUET Nicolas AUBLIN 1) PRINCIPE DE FONCTIONNEMENT...

Plus en détail

Web des services : REST

Web des services : REST Web des services : REST author: Pierre-Antoine Champin Date: 2011-2012 Sommaire 1 Introduction 3 2 REST : le style architectural du Web 7 3 REST par l'exemple 16 4 Discussions 47 2011 Pierre-Antoine Champin

Plus en détail

Sécurité des applications Web

Sécurité des applications Web Travail de diplôme Auteur : Professeurs : Expert : Sylvain Maret Stefano Ventura Gérald Litzistorf Yverdon, le 18 décembre 2003 Table des matières 1. Résumé... Page 5 1.1 Problématique... Page 5 1.2 Mandat...

Plus en détail

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia

M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia M1 Informatique, Réseaux Cours 9 : Réseaux pour le multimédia Olivier Togni Université de Bourgogne, IEM/LE2I Bureau G206 olivier.togni@u-bourgogne.fr 24 mars 2015 2 de 24 M1 Informatique, Réseaux Cours

Plus en détail

L annuaire et le Service DNS

L annuaire et le Service DNS L annuaire et le Service DNS Rappel concernant la solution des noms Un nom d hôte est un alias assigné à un ordinateur. Pour l identifier dans un réseau TCP/IP, ce nom peut être différent du nom NETBIOS.

Plus en détail

Présentation du modèle OSI(Open Systems Interconnection)

Présentation du modèle OSI(Open Systems Interconnection) Présentation du modèle OSI(Open Systems Interconnection) Les couches hautes: Responsables du traitement de l'information relative à la gestion des échanges entre systèmes informatiques. Couches basses:

Plus en détail

Configuration de l'accès distant

Configuration de l'accès distant Configuration de l'accès distant L'accès distant permet aux utilisateurs de se connecter à votre réseau à partir d'un site distant. Les premières tâches à effectuer pour mettre en oeuvre un accès distant

Plus en détail

Administration Linux - Proxy

Administration Linux - Proxy Administration Linux - Proxy 2014 tv - v.1.0 - produit le 12 mai 2014 Sommaire Mise en situation 2 Serveur mandataire (proxy) 2 Proxy inverse (reverse proxy)....................................

Plus en détail

L identité numérique. Risques, protection

L identité numérique. Risques, protection L identité numérique Risques, protection Plan Communication sur l Internet Identités Traces Protection des informations Communication numérique Messages Chaque caractère d un message «texte» est codé sur

Plus en détail

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS MAI 2013 Table des matières 1. Introduction... 3 2. Interface d accueil... 4 2.1. Zone d authentification...

Plus en détail

Table des matières. 2011 Hakim Benameurlaine 1

Table des matières. 2011 Hakim Benameurlaine 1 Table des matières 1 SERVEUR APACHE... 2 1.1 INTRODUCTION... 2 1.2 INSTALLATION ET CONTROLE du service APACHE... 3 1.3 CONFIGURATION DE BASE DU SERVEUR HTTP... 5 1.3.1 Directives globales... 7 1.3.2 Directives

Plus en détail

Technologie des Serveurs Internet. Langage Perl

Technologie des Serveurs Internet. Langage Perl Technologie des Serveurs Internet Jean Denis Girard :: jd.girard@sysnux.pf SysNux BP 110076 98709 Mahina Tahiti Polynésie française http://www.sysnux.pf/ Année 2015 Plan Protocole HTTP Serveur Web (Apache)

Plus en détail

DIFF AVANCÉE. Samy. samy@via.ecp.fr

DIFF AVANCÉE. Samy. samy@via.ecp.fr DIFF AVANCÉE Samy samy@via.ecp.fr I. RETOUR SUR QUELQUES PROTOCOLES COUCHE FONCTIONS Protocoles 7 Application 6 Présentation 5 Session 4 Transport 3 Réseau 2 Liaison 1 Physique Interface entre l utilisateur

Plus en détail

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche

Gestion centralisée d un réseau de sites discrets. Nicolas JEAN - @salemioche Gestion centralisée d un réseau de sites discrets Nicolas JEAN - @salemioche SEO / Technique,utilisation SEO Technique / Utilisation Intérêt du réseau Centralisé Discrétion Simplicité d utilisation Caractéristique

Plus en détail

Zoom sur Newtest LDAP intégration

Zoom sur Newtest LDAP intégration Zoom sur Newtest LDAP intégration L a suite Newtest doit s intégrer parfaitement dans votre Système d Information afin, notamment, d en faciliter l usage. La version NEP 2.1.1 ne déroge pas à cette règle

Plus en détail

TAGREROUT Seyf Allah TMRIM

TAGREROUT Seyf Allah TMRIM TAGREROUT Seyf Allah TMRIM Projet Isa server 2006 Installation et configuration d Isa d server 2006 : Installation d Isa Isa server 2006 Activation des Pings Ping NAT Redirection DNS Proxy (cache, visualisation

Plus en détail

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free.

2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES. 2.2 Architecture fonctionnelle d un système communicant. http://robert.cireddu.free. 2. MAQUETTAGE DES SOLUTIONS CONSTRUCTIVES 2.2 Architecture fonctionnelle d un système communicant Page:1/11 http://robert.cireddu.free.fr/sin LES DÉFENSES Objectifs du COURS : Ce cours traitera essentiellement

Plus en détail