IUT Montpellier - Architecture (DU)

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

Download "IUT Montpellier - Architecture (DU)"

Transcription

1 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. Il effectue alors une requête HTTP, qui est suivie d une réponse HTTP de la part du serveur. 1.1 Requête HTTP La requête HTTP la plus simple est de la forme : GET lapin.html HTTP/1.0 Le premier mot (en majuscule) indique la nature de la requête. Ici c est une requête GET (la plus courante) c est-à-dire que le client veut obtenir une ressource. Elle est suivie d une chaîne permettant d identifier la ressources (ici on veut le fichier lapin.html) et de la version du protocole utilisé (HTTP v.1.0) Structure d une requête HTTP Une requête HTTP est constituée d un en-tête, suivi d une ligne vide et du corps de la requête. L en-tête contient une première ligne contenant la méthode employée, la requête proprement dite et la version du protocole utilisée. Les lignes suivantes (qui ne peuvent pas être vides) contiennent différentes informations sous la forme nom_du_champ: valeur_du_champ Le contenu de la requête (après la ligne vide) dépend de la méthode utilisée. Ainsi dans le cas d une requête GET il est vide, tandis que la méthode POST utilise le corps de la requête pour transmettre les données. GET /images/lapin.jpg HTTP/1.1 Accept: image/jpeg, text/html, */* Accept-Language: fr Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr) AppleWebKit/ (KHTML, like Gecko) Safari/419.3 Connection: keep-alive Authorization: Basic bgfwaw46dg9ydhvl Host: localhost:7777 On reconnaît la première ligne (ici le protocole est HTTP v.1.1 et le fichier demandé se trouve dans un répertoire «images»). Les trois lignes suivantes indiquent le type de document que le client attend de la part du serveur. Ici il est indiqué que le client voudrait une image au format jpeg, ou un fichier html ou bien à défaut n importe quel type de fichier. Par ailleurs il préfère les documents en langue française (fr) et accepte que le fichier soit compressé à l aide de l un des algorithmes gzip ou deflate. Le champ User-Agent donne des informations sur le client (navigateur utilisé, système d exploitation, etc.). Pour des raisons de place sur la page, la ligne a ici été coupée mais elle ne doit pas l être dans la requête HTTP. Le champ Connection indique que la socket utilisée pour la connexion doit être maintenue ouverte après la réponse du serveur. Dans les premières versions du protocole HTTP le serveur fermait la 1

2 connexion avec le client dès qu il lui avait envoyé le fichier demandé. Il fallait alors créer une nouvelle connexion pour le fichier suivant. Aujourd hui, la plupart des pages sont constituées de nombreux fichiers (un.html et plusieurs images par exemple). Lorsque le client demande la page, il ne recevra que le.html. En essayant de l afficher il découvrira alors qu il lui faut également les autres fichiers et enverra une demande pour chacun. La demande d une nouvelle connexion pour chaque élément de la page ralentit beaucoup la communication et il a été décidé d ajouter la possibilité de maintenir la connexion ouverte entre le client et le serveur jusqu à ce que l un des deux partis décide explicitement de la fermer (le client lorsqu il a obtenu tous les fichiers nécessaires pour afficher la page ou le serveur en cas d inactivité trop longue du client). Ce comportement keep-alive est maintenant le comportement par défaut dans le protocole HTTP v.1.1. Le champ Authorization permet de s identifier auprès du serveur. Dans l exemple ci-dessus, on utilise la méthode Basic qui consiste simplement en l envoi d un identifiant et d un mot de passe. Ces deux données sont encodées en base 64 afin de s assurer que les symboles spéciaux pouvant apparaître ne poseront pas de problème. Dans l exemple, la chaîne de caractères bgfwaw46dg9ydhvl est l encodage en base 64 de la chaîne lapin:tortue. Notons que l information n est pas cryptée puisque tout le monde peut décoder cette chaîne (en utilisant un algorithme standard) et que cela représente donc un risque de sécurité (quiconque intercepte la requête HTTP peut connaître l identifiant et le mot de passe). Le champ Authorization n est en général pas nécessaire. Il n est transmis que lorsque l utilisateur doit accéder à des informations sensibles. En général on crypte alors la connexion avec le serveur HTTP en utilisant le protocole SSL afin que le mot de passe ne puisse pas être intercepté. Enfin, dans notre exemple, le champ Host indique le nom du serveur web que le client veut contacter. Ce champ, qui était optionnel en HTTP 1.0 mais est devenu obligatoire en HTTP 1.1, peut sembler inutile puisque le serveur est censé connaître son propre nom. Cependant il est particulièrement utile lorsque plusieurs noms de serveurs sont associés à la même adresse IP. On peut en effet avoir deux (ou plus) serveurs serveur1.com et serveur2.com fonctionnant sur la même machine. Lorsque le client veut obtenir un fichier sur le serveur serveur1.com, il interroge le DNS qui transforme ce nom de serveur en adresse IP. Lorsque la requête HTTP arrive à la machine correspondant à l IP demandée cette dernière ne peut pas savoir a priori à quel serveur la demande s adresse. L utilisation du champ Host dans l en-tête de la requête permet de résoudre ce problème. Remarque : Il existe encore bien d autres champs qui peuvent être ajoutés à une requête HTTP, toutefois dans le cas d une requête de type GET aucun n est obligatoire en HTTP 1.0 et seul le champ Host l est en HTTP Quelques types de requêtes Il existe huit méthodes (ou verbes) de requêtes HTTP : GET. C est la méthode la plus couramment employée. Le client demande au serveur de lui envoyer une ressource. HEAD. Semblable à GET dans sa syntaxe, mais ici le client ne demande que les en-têtes de la réponse du serveur (informations sur la ressource qui aurait été renvoyée, mais pas la ressource elle-même). Cette méthode peut être utilisée pour vérifier qu une ressource est disponibles, pour savoir si la version du serveur est plus récente que celle du client, pour connaître la taille de la ressource, etc. sans pour autant transmettre la ressource. POST. Cette méthode est proche de la méthode GET mais ici le client soumet des données (la plupart du temps entrées à l aide d un formulaire HTML) dans le corps de la requête. PUT. Permet au client d envoyer une ressource au serveur (modifier un fichier existant par exemple). Cette méthode est aujourd hui très peu utilisée car elle présente des risques de sécurité évidents. On préfère utiliser le protocole FTP pour ce genre de manipulations. DELETE. Le client demande la suppression d une ressource. Tout comme la méthode PUT elle n est plus utilisée aujourd hui pour raisons de sécurité. TRACE. Demande au serveur de renvoyer la requete qu il reçoit. Cette méthode permet au client de déterminer les modifications éventuelles appliquées à sa requête par les serveurs intermédiaires par lesquelles elle est passée. 2

3 OPTIONS. Le client demande au serveur de lui envoyer la liste des méthodes supportées. CONNECT. Demande la conversion de la connexion HTTP en un tunnel TCP/IP. Cette méthode est principalement utilisée pour établir des communications cryptées à l aide du protocole SSL (HTTPS) lorsque l on utilise un proxy non crypté. 1.2 Réponse HTTP La réponse du serveur HTTP à une requête est également constituée d un en-tête suivi d une ligne vide et du corps de la réponse. À la très simple requête GET lapin.html HTTP/1.0 pourrait correspondre la réponse (également minimaliste) : HTTP/ OK Content-Type: text/html <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" " <HTML> <HEAD> <TITLE>Lapin</TITLE> </HEAD> <BODY> Ce matin un lapin a tué un chasseur... </BODY> </HTML> On remarque tout d abord que le corps correspond exactement au corps du fichier demandé (ici un fichier html mais ce pourrait également être le contenu d une image ou tout autre type de fichier). C est ce qu avait demandé le client. L en-tête quant à lui est constitué de méta-données. La première ligne donne le protocole utilisé (ici HTTP 1.0), suivi d un code de retour (trois chiffres et une description). Cette première ligne peut ensuite être suivie de nombreux champs d informations. Remarque : Tout comme dans le cas d une requête HTTP, la première ligne vide indique au client la fin de l en-tête et le début du corps de la réponse Les codes de retour Les codes de retour sont toujours constitués de 3 chiffres. Ils sont divisés en 5 catégories : 1xx. Informations. Par exemple 100 CONTINUE signifie que le serveur a bien reçu l en-tête de la requête et qu il attend le corps (dans le cas d une requete de type POST par exemple). 2xx. Succès. 200 OK, 202 ACCEPTED, etc. 3xx. Redirection. La ressource n est pas accessible directement, et le client doit donc effectuer d autres tâches avant que la requête ne puisse être complétée. Par exemple 300 MULTIPLE CHOICES demande à l utilisateur de préciser sa demande car l URI correspond à plusieurs ressources différentes, 301 MOVED PERMANENTLY signifie que l utilisateur doit réitérer sa demande vers une autre URI, 303 SEE OTHER indique à l utilisateur de chercher la ressource à une autre URI, etc. 4xx Erreur du client. La requête est mal formulée ou ne peut être exécutée. Les exemples les plus fréquents sont 400 BAD REQUEST (la requête est mal formulée), 403 FORBIDDEN (le client n a pas accès à la ressource) ou encore 404 NOT FOUND (le fichier n existe pas). 5xx Erreur du serveur sur une requête apparemment valide : 500 INTERNAL SERVER ERROR, 501 NOT IMPLEMENTED (le serveur ne sait pas traiter ce type de requêtes), etc. 3

4 1.2.2 Exemple d en-tête La plupart du temps le serveur donne de nombreuses informations dans l en-tête de la réponse HTTP. On pourra par exemple avoir l en-tête suivant d un réponse à une requête de type GET : HTTP/ OK Date: Thu, 08 Feb :48:45 GMT Server: Apache Last-Modified: Thu, 08 Feb :20:26 GMT Content-Language: fr Content-MD5: d72f9499b1b0a9c5c611186e0f98376e Content-Length: Content-Type: text/html; charset=iso On trouve donc dans cet en-tête la date (et l heure) à laquelle la réponse à été envoyée, le type du serveur web, la date de dernière modification du fichier demandé, la langue du document, le code MD5 du fichier, la taille du fichier en octets ainsi que le type MIME du document (ici un fichier de type text, dont le sous-type est html) et le jeu de caractères dans lequel il est encodé. 2 Les serveurs web Lorsqu un utilisateur veut obtenir un document sur Internet (la plupart du temps par l intermédiaire de son navigateur) il interroge un serveur web qui est chargé de trouver l information et de la lui transmettre. Nous avons vu précédemment comment le navigateur contactait le serveur à l aide de l adresse (que ce soit un nom de domaine ou une adresse IP) et comment la connexion s établissait à l aide de sockets TCP/IP. Nous allons ici détailler les étapes effectuées par le serveur entre la réception de la requête HTTP et la transmission de la réponse. Nous prendrons ici comme exemple le serveur Apache HTTP server 1 qui est un serveur libre couramment utilisé (plus de la moitié des sites webs aujourd hui sont servis par Apache), les autres serveurs ayant un comportement très similaire. 2.1 Un exemple de requête Considérons la requête suivante : POST /dossier/fichier.html HTTP/1.1 Accept: text/html, */* Accept-Language: fr,en Accept-charset: iso , utf-8 Accept-Encoding: gzip, deflate User-Agent: Mozilla/5.0 (Macintosh; U; PPC Mac OS X; fr) Authorization: Basic bgfwaw46dg9ydhvl Connection: keep-alive Host: Cette requête, envoyée au serveur (un autre serveur web refusera la requête car le champ Host serait alors incorrect) précise que l utilisateur veut recevoir le fichier /dossier/fichier.html (la racine de l arborescence est fixée par le serveur web, ce n est en général pas la racine du système de fichiers sur lequel se trouve le serveur). Tous les autres champs ont déjà été présentés précédemment. Lorsqu il reçoit une requête HTTP, le serveur Apache exécute alors successivement les étapes suivantes

5 2.1.1 Child Initialization Un serveur Apache peut être constitué de plusieurs processus (comme c est souvent le cas sur un système Unix) ou d un unique processus contenant plusieurs threads (comme c est le cas sous Windows). Quelle que soit son architecture, lorsqu il reçoit une requête, celle-ci est traitée en parallèle (par un processus fils ou un nouveau thread) généré à la réception de la requête Post Read Request et Header Parser Cette étape correspond à la lecture de l en-tête de la requête. Les champs sont parcourus et le serveur décide alors s il doit ou non poursuivre le traitement. Si la requête est mal formulée elle peut être rejetée à cette étape. S il manque un champ indispensable (comme le champ Host en HTTP 1.1) la demande est également rejetée. L étape Header Parser découpe également les informations contenues dans l en-tête pour séparer tous les champs importants (l URL demandée, les types de retour attendus, etc.) qui seront ensuite transmis aux étapes suivantes Translate Name L URL de la ressource demandée est ici transformée en un nom de fichier. Dans notre exemple, si la racine du serveur HTTP se trouve dans le répertoire /home/lapin/web/server/ (dans l arborescence de la machine sur laquelle se trouve le serveur) alors le serveur traduit l URL /dossier/fichier.html en /home/lapin/web/server/dossier/fichier.html. Il est également possible de faire faire au serveur des transformations plus complexes. Il est par exemple possible de demander à ce que toutes les URL du type /script/nom soient transformées en /usr/bin/nom afin que le serveur puisse exécuter des instructions sur le système de fichier en recevant des requêtes HTTP Check Access Une fois que le serveur connaît le nom du fichier cible, il vérifie que ce fichier est accessible. Cette vérification précède toute forme d authentification de l utilisateur, c est-à-dire que le serveur vérifie simplement que le fichier existe et qu il pourrait l obtenir s il le fallait Check User ID Le serveur doit ici déterminer l identifiant de l utilisateur et vérifier que les informations fournies suffisent à confirmer cette identité. Dans notre exemple, le serveur voit que l authentification se fait selon le protocole Basic, il décode donc la chaîne de caractères bgfwaw46dg9ydhvl, obtient l identifiant et le mot de passe fournis par l utilisateur (lapin et tortue respectivement) et va demander au système si l utilisateur lapin existe et si son mot de passe est bien tortue. Si cette vérification échoue, le serveur renvoie l erreur HTTP_UNAUTHORIZED et l en-tête de la réponse contient les détails indiquant à l utilisateur quelles informations il doit fournir pour s identifier correctement Check Auth La procédure précédente se contente de vérifier l identifiant annoncé par l utilisateur (est-il bien celui qu il prétend être) mais ne détermine pas pour autant s il a accès à l information demandée. C est l étape d autorisation qui s en charge. Connaissant l identité de l utilisateur, le serveur peut maintenant vérifier que cet utilisateur a bien accès à la ressource demandée (la plupart du temps cela se fait en interrogeant le système de fichiers). Si l accès n est pas autorisé, c est encore une fois l erreur HTTP_UNAUTHORIZED qui est levée et revoyée à l utilisateur en lui demandant une nouvelle authentification (sous une autre identité). 5

6 2.1.7 Type Checker À ce stade-ci, la requête est presque entièrement traitée. La ressource a été localisée et toutes les vérifications ont été faites pour s assurer qu elle pouvait être transmise au client. Il ne reste alors plus qu à déterminer quel handler (module qui manipule le fichier) va effectivement traiter la demande. En effet, s il est vrai que la tâche est quasi-instantanée dans le cas d une requête d un fichier HTTP simple (il suffit de joindre le fichier tel quel à la réponse) il est parfois nécessaire de faire appel à des programmes spécifiques dans des cas plus complexes. Ainsi, si la requête correspond à un script il faut appeler l interpréteur correspondant (PHP, Python, Perl, etc.), ou si le fichier demandé doit être modifié avant d être envoyé (certaines pages sont traduites avant d être transmises, ou bien il faut parfois insérer les champs envoyés pas l utilisateur dans la page, etc.). Afin de déterminer le handler approrié le serveur détermine le type MIME de la ressource demandée à partir de son URL (par exemple text/html, ou image/jpeg) et produit une chaîne de caractères à transmettre au handler. Ce module peut également générer une chaîne de caractères à fournir au handler en fonction des informations connues jusqu ici (par exemple la ligne de commande d appel d un script) Prerun Fixups Dernière étape avant de laisser travailler les handlers. C est ici que sont effectuées les dernières tâches éventuellement nécessaires au bon fonctionnement du handler, comme par exemple la définition des variables d environnement pour un script. La plupart des modules n effectuent aucune action à ce stade-ci car tout ce qui devait être fait a été traité lors de l une des étapes précédentes Handlers La requête a été entièrement préparée et peut maintenant être effectivement traitée par le programme approprié. C est à ce stade-là que les interpréteurs de scripts sont appelés (PHP, Perl, Java, etc.), que l on peut traduire le document demandé dans une langue spécifiée par le client, etc. La plupart des handlers renvoie directement la réponse HTTP (il est alors nécessaire de s assurer que le handler ajoute bien l en-tête de la réponse HTTP), mais ils peuvent aussi parfois se contenter de transmettre en interne le contenu de la réponse au serveur. Ce dernier devra alors produire l en-tête Logger Une fois que la requête a été entièrement traitée et que la réponse a été renvoyée au client, le serveur inscrit dans un fichier de log les détails de la transaction afin d en garder une trace (par exemple la totalité de la requête HTTP, les détails de connexion avec l ordinateur distant et l en-tête de la réponse transmise) Child Exit Le processus ou thread qui avait été initialisé pour traiter la requête HTTP peut maintenant être terminé. 3 Sessions HTTP Le protocole HTTP est un protocole sans état (state-less) c est-à-dire qu aucune information n est conservée entre deux requêtes successives. Il ne prévoit donc aucune méthode pour spécifier explicitement qu une requête est la suite d une autre. Il est pourtant parfois confortable de pouvoir s identifier auprès d un site web et de faire en sorte que par la suite le serveur reconnaisse l utilisateur et puisse adapter la réponse à cet utilisateur. Pour cela, il est nécessaire de mettre en place un susyème de sessions. Une session HTTP est une suite de requêtes HTTP (d un client vers un serveur) qui sont reconnues par le serveur comme provenant du 6

7 même client. Il est alors possible de partager des informations sur la totalité de la session (variables de session) qui peuvent être lues et modifiées à chaque requête. 3.1 Une première idée : les adresses IP Afin d identifier un utilisateur pour suivre ses requêtes successives sur un même serveur, on pourrait vouloir utiliser l adresse IP de l ordinateur client. Notons que cette adresse IP n est pas donnée dans la requête HTTP (elle ne figure pas dans les en-têtes) mais que le serveur connaît l IP de l ordinateur qui a demandé la connexion TCP/IP. Cette technique présente cependant de nombreux inconvénients : Si le client utilise un proxy entre son ordinateur et le serveur HTTP, seule l adresse du proxy sera visible par le serveur. Certains fournisseurs d accès à Internet (AOL par exemple qui est le principal FAI aux États-Unis) font passer toutes leurs connexion par un petit nombre de proxys, ce qui empêche donc les serveurs web de les distinguer par leur adresse IP. Un même ordinateur peut être partagé par différents utilisateurs. Les ordinateurs sur Internet n ont pas nécessairement une adresse IP fixe. La plupart des FAI aujourd hui distribuent dynamiquement les adresses IP et il ne sera donc pas possible pour un serveur de reconnaître un utilisateur si l ordinateur de ce dernier s est déconnecté puis reconnecté avec une autre IP. Notons que de plus en plus de FAI proposent maintenant une option «IP fixe» à leurs clients. 3.2 La solution HTTP Il est possible de suivre les requêtes successives d un même client en utilisant les méthodes GET et POST du protocole HTTP sur des pages web générées dynamiquement. En effet, nous avons vu que ces deux méthodes permettent de transmettre des variables lors d une requête HTTP : dans le cas de POST les variables et leur valeur sont transmises dans le corps de la requête tandis que dans le cas de GET elles sont transmises dan l URI (en ajoutant une chaîne de la forme?nom1=val1&nom2=val2). Lorsqu un utilisateur arrive sur une page sans fournir de variables dans sa requête le serveur le considère comme un nouvel utilisateur et lui attribue un numéro de session (différent des numéros déjà attribués à d autres utilisateurs). Une fois ce numéro déterminé (qui servira à identifier cet utilisateur), le serveur modifie tous les liens des pages qu il envoie au client pour que celui-ci envoie son numéro de session à chaque fois qu il suit un lien. Si par exemple le numéro qui a été attribué est 1032, on ajoute?id=1032 à tous les liens pour que l identifiant soit passé au serveur par la méthode GET à chaque page demandée. Si l on veut utiliser la méthode POST il suffit d ajouter un formulaire caché (qui n est pas affiché par la page) contenant un champ pré-rempli indiquant le numéro de session (ce formulaire sera donc transmis à chaque requête de la part du client). Il est ensuite facile pour le client d identifier toutes les requêtes faites par le même client puisqu elles contiennent toutes le même identifiant. Le serveur peut également modifier les valeurs (et le nombre) des variables que le client enverra, mais un seul identifiant pourrait suffire puisque toutes les variables nécessaires pourraient être enregistrées sur le serveur (toutefois le site pourrait vouloir ne pas encombrer la mémoire du serveur et donc transmettre les variables aux utilisateurs) Différences entre POST et GET Lorsque l on utilise la méthode GET les variables sont échangées de manière visible dans l URI. Ceci peut être intéressant pour permettre à l utilisateur de modifier facilement les valeurs des variables transmises ou de les échanger avec quelqu un d autre en copiant simplement l URI. C est ce qui permet également aux navigateurs de créér des marque-pages dynamiques : on peut marquer la page d un moteur de recherche en indiquant où doit être insérée la chaîne de caractères à rechercher, ce qui permet d effectuer une recherche directement sans avoir à passer par la page principale du moteur de recherche. 7

8 On pourra cependant préférer cacher ces variables à l aide de la méthode POST pour différentes raisons. Ça allège les URI affichées par les navigateurs qui sont donc plus faciles à mémoriser et plus agréables pour l utilisateur, c est un moyen de faire passer des variables discrètement sans que l utilisateur s en rende compte (il pourrait le voir mais il est rare que l on inspecte le code source de la page ou les requêtes HTTP transmises par le navigateur), et enfin ça permet de passer une plus grande quantité d informations (certains serveurs refusent les URI trop longues, et il est en général déconseillé de dépasser 255 caractères). Enfin, remarquons que ces deux méthodes ne se comporteront pas de la même manière vis-à-vis des marque-pages. Dans le cas d un passage de variables dans l URI (GET) si l utilisateur créé un marque page, copie entièrement l adresse, ou l envoie à ses contacts, les variables seront copiées également et donc ces mêmes variables (avec leurs valeurs) seront utilisées à chaque fois. Si l on cache les variables (POST) elles ne seront pas mémorisées ou transmises Inconvénients Cette méthode permet donc d implémenter un mécanismes de sessions (et de séquetialité des requêtes d un client à un serveur) mais elle présente encore certains inconvénients : Les sessions ne sont pas conservées si l utilisateur quitte le site et revient en entrant la même adresse que la première fois qu il est venu (donc sans transmettre de variable). À l inverse, comme nous l avons vu, si l utilisateur revient sur la page après avoir copié l adresse les variables reprendront toutes la valeur qu elles avaient au moment où l adresse a été copiée (ou marquée dans un navigateur). Si l on utilise un proxy qui garde en mémoire les pages web les plus demandées, celui-ci va transmettre à tous les utilisateurs la même page qui ne sera donc pas recréée dynamiquement pour chacun. Toutes ces pages contiendront donc les mêmes variables et ne permettront pas de distinguer les utilisateurs. 3.3 Cookies HTTP Les cookies HTTP ont été introduits par le navigateur Netscape afin de pouvoir implémenter correctement un système de sessions. L objectif était de permettre de gérer un panier de courses virtuel sur un site d achats en ligne (l utilisateur parcourt le site et peut à tout moment ajouter ou supprimer des objets de son panier virtuel afin de payer la totalité de la commande en une seule fois). En pratique, les cookies sont des chaînes de caractères que le serveur envoie au client dans l en-tête d une réponse HTTP. Ces cookies sont stockés sur l ordinateur du client (en général dans un unique fichier de cookies). Par la suite, à chaque fois que le client enverra une requête à ce serveur, il lui transmettra le cookie dans l en-tête de la requête HTTP. Le serveur a la possibilité de modifier ou supprimer le cookie, et peut ajouter des cookies supplémentaires Syntaxe côté serveur Pour placer un cookie chez le client, le serveur utilise le champ Set-Cookie dans l en-tête de la réponse HTTP. La syntaxe est la suivante : Set-Cookie: NOM=VALEUR; expires=date; path=chemin; domain=nom_de_domaine; secure où les mots en minuscule désignent des mots-clés (imposés par le format des cookies) et les mots en majuscule sont à remplacer par les valeurs choisies par le serveur. Un cookie a donc plusieurs attributs : NOM=VALEUR. C est le seul champ qui doit obligatoirement être renseigné. Il définit le nom du cookie et sa valeur. Le nom et la valeur du cookie ne peuvent pas contenir de point virgule, de virgule ou d espace. De plus le caractère = ne peut pas apparaître dans le nom puisque le premier = rencontré indique la séparation entre le nom et la valeur du cookie (mais la valeur peut contenir des caractères =). expires=date. Ce champ indique la limite de validité du cookie. La date est représentée sous la forme 8

9 Wed, 06-Feb :14:35 GMT où GMT est le seul fuseau horaire accepté. Souvent les navigateurs enregistrent cette date dans le fichier de cookies en la mesurant en secondes depuis l epoch (1er janvier 1970) sous la forme d un entier écrit en base 10 (par exemple pour la date indiquée précédemment). Lorsque le navigateur parcourt la liste des cookies disponibles, il supprime tous ceux qui sont périmés. C est également ce mécanisme qui est utilisé par le serveur pour demander la suppression d un cookie chez le client : il modifie la date d expiration à une date quelconque dans le passé. Il n est pas indispensable de fournir une date d expiration. Si aucune n est fournie le cookie n est valable que pour la session courante et est donc détruit lors de la fermeture du navigateur. domain=nom_de_domaine. Indique le domaine de validité du cookie. Le navigateur ne transmettra le cookie que lorsque la requête HTTP est transmise à un sous-domaine de celui indiqué. Ainsi, si par exemple le navigateur reçoit un cookie de domaine domaine.com, il le transmettra à chaque fois qu il contactera le serveur domaine.com, mais également s il contacte mon.domaine.com ou moi.mon.domaine.com. Le serveur qui envoie le cookie doit nécessairement appartenir au domaine spécifié sans quoi le navigateur refuse le cookie. Par ailleurs il existe des contraintes sur le domaine d un cookie qui imposent une certaine spécificité, ainsi il n est pas possible de fixer un cookie dont le domaine est com ou co.uk qui sont trop génériques. Si le domaine n est pas précisé, c est le domaine du serveur qui est considéré par défaut. path=chemin. Cet attribut précise l ensemble des URI qui sont concernées par le cookie. En effet le cookie ne sera transmis que si l URI demandée commence par le contenu du champ path. Par exemple, si le chemin est /un/chemin, le cookie sera envoyé lorsque l on demande le fichier /un/chemin/index.html, mais également si l on demande /un/cheminot. Si le chemin n est pas spécifié lorsque le cookie est envoyé il est considéré comme se rapportant au chemin «/» qui inclut toutes les pages du domaine. secure. Cet attribut (qui n a pas de valeur) indique simplement que le cookie ne doit être renvoyé par le navigateur que si la connexion utilisée est cryptée. Si cet argument n est pas donné à la création du cookie, le cookie est envoyé quelle que soit la sécurité de la connexion. Cet attribut est utilisé lorsque le cookie représente une information sensible (une identification sur un site bancaire par exemple) Syntaxe côté client Lorsque le client envoie une requête, le navigateur parcourt la liste des cookies et détermine ceux qui correspondent à la requête émise (la date d expiration n est pas passée, le domaine et le chemin correspondent, et la sécurité de la connexion est adaptée). Il transmet ensuite les noms et valeurs de chacun de ces cookies en une seule ligne de l en-tête de la requête HTTP sous la forme : Cookie: NOM1=VALEUR1; NOM2=VALEUR2; Remarques Il est possible d envoyer plusieurs cookies dans une unique réponse HTTP en utilisant plusieurs champs Set-Cookie dans l en-tête. Lorsqu un cookie portant le même nom et correspondant aux mêmes domaine et chemin qu un cookie existant est envoyé, il remplace le précédent. Si par contre les chemins sont différents les deux cookies sont conservés. Le client peut choisir de détruire un cookie à tout moment (même si la date limite n est pas atteinte). Inversement, il peut choisir de continuer à utiliser un cookie périmé. Lorsque le client envoie les cookies au serveur, les cookies correspondant aux chemins les plus spécifiques doivent être envoyés en premier. Ceci est particulièrement important dans le cas où deux cookies de même nom mais de chemin différent co-existent. Ainsi si le client a deux cookies nom=val1 de chemin / et nom=val2 de chemin /blop/, le cookie nom=val2 doit apparaître en premier dans la liste envoyée. Le nombre et la taille des cookies sont limités. Cette limite varie en fonction du navigateur. De manière générale, on considère les limites suivantes : le navigateur ne conserve pas plus de 300 cookies au total ; 9

10 la chaîne formée du nom et de la valeur d un cookie ne doit pas dépasser 4096 caractères ; seuls 20 cookies par domaine sont acceptés. Les serveurs doivent considérer que les navigateurs clients ne dépasseront pas ces limites. Lorsqu un cookie est reçu alors que la limite est atteinte le navigateur est censé supprimer le cookie dont la dernière utilisation est la plus ancienne. Par ailleurs si le navigateur reçoit un cookie dont la taille dépasse 4096 caractères, il doit le tronquer en conservant le nom. Les serveurs proxy qui utilisent un cache pour stocker les réponses HTTP ne doivent pas enregistrer les champs Set-Cookie. 10

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

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

(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

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

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

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

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

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

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

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

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

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

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

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

TD n o 8 - Domain Name System (DNS)

TD n o 8 - Domain Name System (DNS) IUT Montpellier - Architecture (DU) V. Poupet TD n o 8 - Domain Name System (DNS) Dans ce TD nous allons nous intéresser au fonctionnement du Domain Name System (DNS), puis pour illustrer son fonctionnement,

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

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

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

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

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

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

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

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

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER

Internets. Informatique de l Internet: le(s) Internet(s) Composantes de l internet R3LR RENATER Internets Informatique de l Internet: le(s) Internet(s) Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III RENATER, R3LR Services Internet Protocoles Web Sécurité Composantes de l internet

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

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

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

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

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1 E-TRANSACTIONS Guide du programmeur API Plug-in Version 1.1 Avertissements : Le fichier Version.txt précise l'environnement dans lequel l API a été compilée et testée. L'installation de l API sur tout

Plus en détail

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs. Apache, Mod_proxy et 4D Par Timothy PENNER, Technical Services Team Member, 4D Inc. Note technique 4D-201003-05-FR Version 1 - Date 1 mars 2010 Résumé Cette note technique porte sur l utilisation du serveur

Plus en détail

Programmation Internet Cours 4

Programmation Internet Cours 4 Programmation Internet Cours 4 Kim Nguy ên http://www.lri.fr/~kn 17 octobre 2011 1 / 23 Plan 1. Système d exploitation 2. Réseau et Internet 3. Web 3.1 Internet et ses services 3.1 Fonctionnement du Web

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

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

Guide Numériser vers FTP

Guide Numériser vers FTP Guide Numériser vers FTP Pour obtenir des informations de base sur le réseau et les fonctions réseau avancées de l appareil Brother : consultez le uu Guide utilisateur - Réseau. Pour obtenir des informations

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

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

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

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248

L envoi d un formulaire par courriel. Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 L envoi d un formulaire par courriel Configuration requise... 236 Mail Texte... 237 Mail HTML... 242 Check-list... 248 Chapitre 9 L envoi d un formulaire par courriel L envoi par courriel d informations

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

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

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall RTE Technologies RTE Geoloc Configuration avec Proxy ou Firewall 2 Septembre 2010 Table des matières Introduction... 3 Présentation de RTE Geoloc... 3 Configuration des paramètres de sécurité... 3 Configuration

Plus en détail

Programmation Web. Madalina Croitoru IUT Montpellier

Programmation Web. Madalina Croitoru IUT Montpellier Programmation Web Madalina Croitoru IUT Montpellier Organisation du cours 4 semaines 4 ½ h / semaine: 2heures cours 3 ½ heures TP Notation: continue interrogation cours + rendu à la fin de chaque séance

Plus en détail

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10

Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 modalisa Création, analyse de questionnaires et d'entretiens pour Windows 2008, 7, 8 et MacOs 10 8 Fonctionnalités de mise en ligne de questionnaires Vous trouverez dans cet opuscule les informations nécessaires

Plus en détail

Configurer Squid comme serveur proxy

Configurer Squid comme serveur proxy LinuxFocus article number 235 http://linuxfocus.org Configurer Squid comme serveur proxy Résumé: par D.S. Oberoi L auteur: D.S. Oberoi vit à Jammu, aux Indes et rencontre des problèmes

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

Présentation Serveur Apache et pour RePeGlio

Présentation Serveur Apache et pour RePeGlio Serveur APACHE 1 Présentation Serveur Apache et pour RePeGlio I. Présentation générale du serveur Apache... 2 1. Fonction du serveur Apache... 2 2. Fonction du programme RPG relativement au serveur Apache....

Plus en détail

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

Failles XSS : Principes, Catégories Démonstrations, Contre mesures HERVÉ SCHAUER CONSULTANTS Cabinet de Consultants en Sécurité Informatique depuis 1989 Spécialisé sur Unix, Windows, TCP/IP et Internet Séminaire 15 ans HSC Failles XSS : Principes, Catégories Démonstrations,

Plus en détail

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Application des Spécifications détaillées pour la Retraite, architecture portail à portail Pour Application des Spécifications détaillées pour la Retraite, architecture portail à portail Version 1.0 ON-X S.A. est une société du Groupe ON-X 15, quai Dion Bouton 92816 PUTEAUX cedex. Tél : 01 40

Plus en détail

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com>

Présentation du relais HTTP Open Source Vulture. Arnaud Desmons <ads@intrinsec.com> Jérémie Jourdin <jjn@intrinsec.com> Arnaud Desmons Jérémie Jourdin Présentation Motivations Historique Démonstration Présentation fonctionnelle Présentation technique L'interface d'administration Roadmap

Plus en détail

Sécuriser les applications web de l entreprise

Sécuriser les applications web de l entreprise LABORATOIRE SECURITE Sécuriser les applications web de l entreprise Mise en place de ModSecurity pour Apache Julien SIMON - 61131 Sommaire Présentation de la situation actuelle...3 Qu est ce qu un WAF?...5

Plus en détail

4. SERVICES WEB REST 46

4. SERVICES WEB REST 46 4. SERVICES WEB REST 46 REST REST acronyme de REpresentational State Transfert Concept introduit en 2000 dans la thèse de Roy FIELDING Est un style d architecture inspiré de l architecture WEB En 2010,

Plus en détail

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure

Mac OS X Server Administration des technologies Web. Pour la version 10.3 ou ultérieure Mac OS X Server Administration des technologies Web Pour la version 10.3 ou ultérieure appleapple Computer Inc. 2003 Apple Computer, Inc. Tous droits réservés. Le propriétaire ou l utilisateur autorisé

Plus en détail

ADF 2009. Reverse Proxy. Thierry DOSTES tdostes@ifr88.cnrs-mrs.fr

ADF 2009. Reverse Proxy. Thierry DOSTES tdostes@ifr88.cnrs-mrs.fr ADF 2009 Reverse Proxy Thierry DOSTES tdostes@ifr88.cnrs-mrs.fr 1 Définition d un serveur mandataire Un proxy (ou serveur mandataire) : agit comme une passerelle et un filtre pour accéder à l Internet.

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

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand

BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand Active Directory sous Windows Server SAHIN Ibrahim BTS SIO option SISR Lycée Godefroy de Bouillon Clermont-Ferrand Sommaire I - Introduction... 3 1) Systèmes d exploitation utilisés... 3 2) Objectifs...

Plus en détail

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT

FileMaker Server 11. Publication Web personnalisée avec XML et XSLT FileMaker Server 11 Publication Web personnalisée avec XML et XSLT 2007-2010 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker est une

Plus en détail

Vulnérabilités et sécurisation des applications Web

Vulnérabilités et sécurisation des applications Web OSSIR 09/09/2002 Vulnérabilités, attaques et sécurisation des applications Web Pourquoi les firewalls sont impuissants patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Page 1 Planning

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

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

L3 informatique Réseaux : Configuration d une interface réseau

L3 informatique Réseaux : Configuration d une interface réseau L3 informatique Réseaux : Configuration d une interface réseau Sovanna Tan Septembre 2009 Révision septembre 2012 1/23 Sovanna Tan Configuration d une interface réseau Plan 1 Introduction aux réseaux 2

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

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

Service de certificat

Service de certificat Service de certificat Table des matières 1 Introduction...2 2 Mise en place d une autorité de certification...3 2.1 Introduction...3 2.2 Installer le service de certificat...4 3 Sécuriser un site web avec

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Documentation Honolulu 14 (1) - 0209

Documentation Honolulu 14 (1) - 0209 Documentation Honolulu 14 (1) - 0209 Honolulu 14 3 Sommaire Honolulu 14 le portail Intranet / Internet de votre entreprise PARTIE 1 -MANUEL UTILISATEUR 1. LE PORTAIL HONOLULU : PAGE D ACCUEIL 8 1.1 Comment

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

Serveur FTP. 20 décembre. Windows Server 2008R2

Serveur FTP. 20 décembre. Windows Server 2008R2 Serveur FTP 20 décembre 2012 Dans ce document vous trouverez une explication détaillé étapes par étapes de l installation du serveur FTP sous Windows Server 2008R2, cette présentation peut être utilisée

Plus en détail

Les serveurs. UE 103b. Guillaume Burel. guillaume.burel@ens-lyon.org http://www.loria.fr/~burel/empty_cours.html

Les serveurs. UE 103b. Guillaume Burel. guillaume.burel@ens-lyon.org http://www.loria.fr/~burel/empty_cours.html Master IST-IE Les serveurs 2008-2009 UE 103b Guillaume Burel guillaume.burel@ens-lyon.org http://www.loria.fr/~burel/empty_cours.html Transparents réalisés principalement par Olivier Christmann Les grandes

Plus en détail

Étude de l application DNS (Domain Name System)

Étude de l application DNS (Domain Name System) Étude de l application DNS (Domain Name System) RICM 4 - Option Réseaux Pascal Sicard Introduction Le but de ce TP est de comprendre l utilisation et le fonctionnement de l application réseau DNS (Domain

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

Introduction au protocole FTP. Guy Labasse guy.labasse@lyceedautet.fr

Introduction au protocole FTP. Guy Labasse guy.labasse@lyceedautet.fr Introduction au protocole FTP Guy Labasse guy.labasse@lyceedautet.fr Le File Transfer Protocol (protocole de transfert de fichiers), ou FTP, est un protocole de communication destiné à l échange informatique

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

avast! EP: Installer avast! Small Office Administration

avast! EP: Installer avast! Small Office Administration avast! EP: Installer avast! Small Office Administration Comment installer avast! Small Office Administration? avast! Small Office Administration est une console web qui permet la gestion a distance de

Plus en détail

Vulnérabilités et solutions de sécurisation des applications Web

Vulnérabilités et solutions de sécurisation des applications Web Vulnérabilités et solutions de sécurisation des applications Web Patrick CHAMBET EdelWeb ON-X Consulting patrick.chambet@edelweb.fr http://www.edelweb.fr http://www.chambet.com Eric Larcher RSSI Accor

Plus en détail

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web Réseau informatique TIC TC - IUT Montpellier Internet et le Web Ensemble d'ordinateurs reliés entre eux et échangeant des informations sous forme de données numériques But : Rendre disponible l information

Plus en détail

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin

Université de Reims Champagne Ardenne. HTTPS, SSL, SSH, IPSEC et SOCKS. Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin 2007 2008 Université de Reims Champagne Ardenne Sécurité dans TCP/IP HTTPS, SSL, SSH, IPSEC et SOCKS Présenté par : BOUAMAMA Mohamed Nadjib AZIZ Xerin 1 Protocole HTTPS HTTPS signifie Hypertext Transfer

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

Publication dans le Back Office

Publication dans le Back Office Site Web de l association des ingénieurs INSA de Lyon Publication dans le Back Office Note : dans ce guide, l'appellation GI signifie Groupe d'intérêt, et GR Groupe Régional laure Buisset Page 1 17/09/2008

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

Guide de connexion pour les sites sécurisés youroffice & yourassets

Guide de connexion pour les sites sécurisés youroffice & yourassets Guide de connexion pour les sites sécurisés youroffice & yourassets Table des matières 1. Sécurité... 3 2. Configuration minimale requise... 3 a. Système Windows... 3 b. Système Macintosh... 3 3. Demander

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

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

Module BD et sites WEB

Module BD et sites WEB Module BD et sites WEB Cours 8 Bases de données et Web Anne Doucet Anne.Doucet@lip6.fr 1 Le Web Architecture Architectures Web Client/serveur 3-tiers Serveurs d applications Web et BD Couplage HTML-BD

Plus en détail

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven

Oracle Developer Suite 10g. Guide de l installation. Vista & Seven TRAVAIL RÉALISÉ PAR ABED ABDERRAHMANE Oracle Developer Suite 10g Guide de l installation 10g Release 2 (10.1.2) pour Windows Vista & Seven www.oraweb.ca Page 1 TABLE DES MATIÈRES : PARTIE 1 : CONCEPTS

Plus en détail

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication

Chapitre VII : Principes des réseaux. Structure des réseaux Types de réseaux La communication Les protocoles de communication Chapitre VII : Principes des réseaux Structure des réseaux Types de réseaux La communication Les protocoles de communication Introduction Un système réparti est une collection de processeurs (ou machines)

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

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée

Services sur réseaux. Trois services à la loupe. Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Trois services à la loupe Services sur réseaux Dominique PRESENT Dépt S.R.C. - I.U.T. de Marne la Vallée Plan du cours : 1. Services de messagerie Architecture Fonctionnement Configuration/paramétrage

Plus en détail

Applications TCP/IP. Protocoles applicatifs Répartition du trafic sur Internet. 3. La couche Application

Applications TCP/IP. Protocoles applicatifs Répartition du trafic sur Internet. 3. La couche Application Applications TCP/IP Protocoles applicatifs Répartition du trafic sur Internet 3. La couche Application Protocoles applicatifs Service DNS Web et HTTP Messagerie (SMTP, POP, IMAP) Transfert de fichiers

Plus en détail

FileMaker Server 14. Guide de démarrage

FileMaker Server 14. Guide de démarrage FileMaker Server 14 Guide de démarrage 2007-2015 FileMaker, Inc. Tous droits réservés. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, Californie 95054 FileMaker et FileMaker Go sont des marques

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

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

1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2. 1.2 Le système DNS... 2. 1.3 Les types de requêtes DNS...

1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2. 1.2 Le système DNS... 2. 1.3 Les types de requêtes DNS... Table des matières 1 Résolution de nom... 2 1.1 Introduction à la résolution de noms... 2 1.2 Le système DNS... 2 1.3 Les types de requêtes DNS... 4 1.4 Configuration des clients DNS... 8 1.4.1 Résolution

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

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin Sécurité des sites Web Pas un cours un recueil du net INF340 Jean-François Berdjugin Vulnérabilité Définition (wikipédia) : Dans le domaine de la sécurité informatique, une vulnérabilité est une faiblesse

Plus en détail

Hébergement de sites Web

Hébergement de sites Web Hébergement de Solutions complètes et évolutives pour l hébergement de sites Web dynamiques et de services Web sécurisés. Fonctionnalités Serveur Web Apache hautes performances Apache 1. et.0 1 avec prise

Plus en détail

La messagerie électronique avec La Poste

La messagerie électronique avec La Poste La messagerie électronique avec La Poste En novembre 2000, le ministère de l Education Nationale a conclu avec La Poste un accord pour la mise à disposition des enseignants et élèves d un service de courrier

Plus en détail

SIP. Sommaire. Internet Multimédia

SIP. Sommaire. Internet Multimédia Internet Multimédia Le Protocole SIP 2011 André Aoun - Internet Multimédia SIP - 1 Sommaire 1. Présentation 2. Entités SIP 3. Méthodes et réponses 4. User Agent 5. Registrar 6. Proxy 7. Redirect Server

Plus en détail

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x

SQUID P r o x y L i b r e p o u r U n i x e t L i n u x SQUID P r o x y L i b r e p o u r U n i x e t L i n u x 1. P r é s e n t a t i o n : SQUID est un proxy (serveur mandataire en français) cache sous linux. De ce fait il permet de partager un accès Internet

Plus en détail