IUT Montpellier - Architecture (DU)

Save this PDF as:
 WORD  PNG  TXT  JPG

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" "http://www.w3.org/tr/html4/strict.dtd"> <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

A6 - HTTP ESIROI 2014-2015

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

Plus en détail

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

Le protocole HTTP. Sources. Caractéristiques de HTTP. Objectifs. Une transaction typique (2) Une transaction typique (1)

Le protocole HTTP. Sources. Caractéristiques de HTTP. Objectifs. Une transaction typique (2) Une transaction typique (1) Sources Le protocole Supports de cours de Olivier Glück (Lyon 1) Livres cités en bibliographie Le web Sylvain Brandel Sylvain.brandel@liris.univ-lyon1.fr http://bat710.univ-lyon1.fr/~sbrandel M1 Informatique

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

Programmation du Web : Présentation du protocole HTTP

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

Plus en détail

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

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

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

Plus en détail

Architecture client/serveur

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

Plus en détail

Le protocole HTTP. Olivier Aubert 1/40

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

Plus en détail

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

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

Plus en détail

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

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

Plus en détail

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web.

Le langage PHP permet donc de construire des sites web dynamiques, contrairement au langage HTML, qui donnera toujours la même page web. Document 1 : client et serveur Les ordinateurs sur lesquels sont stockés les sites web sont appelés des serveurs. Ce sont des machines qui sont dédiées à cet effet : elles sont souvent sans écran et sans

Plus en détail

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

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

Plus en détail

Applications orientées données (NSY135)

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

Plus en détail

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

PHP/MYSQL. Web Dynamique

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

Plus en détail

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

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

Programmation Avancée pour le Web

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

Plus en détail

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

Pages WWW interactives et CGI

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

Plus en détail

Programmation Web. Thierry Hamon

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

Plus en détail

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

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

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

Plus en détail

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

Le Web: les machines parlent aux machines

Le Web: les machines parlent aux machines Le Web: les machines parlent aux machines Historique Année 70 : ARPA (Advanced Research Project Agency). Relier les centres de recherche : ARPANET. 1972 : Premières spécifications TCP/IP (IP internet Protocol)

Plus en détail

Travaux pratiques. Protocoles de la couche transport et de la couche applications

Travaux pratiques. Protocoles de la couche transport et de la couche applications Travaux pratiques Protocoles de la couche transport et de la couche applications Objectif Ce laboratoire se veut une introduction aux protocoles de la couche transport et de la couche application du modèle

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

Système UNIX et Langages de scripts

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

Plus en détail

Web et présentation d information spatiale

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

Plus en détail

Programmation d applications pour le Web

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

Plus en détail

Création d un catalogue en ligne

Création d un catalogue en ligne 5 Création d un catalogue en ligne Au sommaire de ce chapitre Fonctionnement théorique Définition de jeux d enregistrements Insertion de contenu dynamique Aperçu des données Finalisation de la page de

Plus en détail

La hiérarchie du système DNS

La hiérarchie du système DNS LA RÉSOLUTION DE NOMS 1. PRÉSENTATION DU SYSTÈME DNS 1.1 INTRODUCTION À LA RÉSOLUTION DE NOMS Pour pouvoir communiquer, chaque machine présente sur un réseau doit avoir un identifiant unique. Avec le protocole

Plus en détail

Première étape : Le modèle client/serveur avec le protocole TCP (client unique)

Première étape : Le modèle client/serveur avec le protocole TCP (client unique) École de technologie supérieure Responsable du cours : Hassan Zeino Département de génie logiciel et des TI Chargés de laboratoire : Fatna Belqasmi (A-3326) Session : Automne 2010 LOG610 - RÉSEAUX DE TELECOMMUNICATION

Plus en détail

Headers, cookies et sessions

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

Plus en détail

TD2-1 : Application client-serveur V2.3.0

TD2-1 : Application client-serveur V2.3.0 TD2-1 : Application client-serveur V2.3.0 Cette œuvre est mise à disposition selon les termes de la licence Creative Commons Attribution Pas d'utilisation Commerciale Partage à l'identique 3.0 non transposé.

Plus en détail

ETUDES DE SUPPORTS & PROTOCOLES DE COMMUNICATION DNS

ETUDES DE SUPPORTS & PROTOCOLES DE COMMUNICATION DNS Page 1 / 8 A) FQDN, URL & URI Un FQDN est le significatif d'un hôte sur l'internet (un serveur la plupart du temps) et un URI ou URL définit l'accès à un document sur un serveur. A.1 FQDN (Full Qualified

Plus en détail

14.1. Paiements et achats en ligne

14.1. Paiements et achats en ligne Chapitre 14 Sécurité et Internet Si Internet vous permet de vous connecter et d accéder à des services et des sites du monde entier, il est important aussi de comprendre qu une fois connecté au Web votre

Plus en détail

Programmation Web. Introduction. Jean-Rémy Falleri jfalleri@enseirb-matmeca.fr. Enseirb-Matmeca Département Télécommunications

Programmation Web. Introduction. Jean-Rémy Falleri jfalleri@enseirb-matmeca.fr. Enseirb-Matmeca Département Télécommunications Programmation Web Introduction Jean-Rémy Falleri jfalleri@enseirb-matmeca.fr Enseirb-Matmeca Département Télécommunications Présentation du module Savoir faire : comprendre et mettre en place une application

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

Expressions communes. Détection du type de navigateur

Expressions communes. Détection du type de navigateur 2 Expressions communes Certaines tâches JavaScript récurrentes doivent être réalisées quasiment chaque jour. Elles sont à la base de nombreuses applications JavaScript mais n entrent dans aucune catégorie

Plus en détail

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

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

Plus en détail

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86

Plan du travail. 2014/2015 Cours TIC - 1ère année MI 86 Plan du travail Chapitre 1: Internet et le Web Chapitre 2: Principes d Internet Chapitre 3 : Principaux services d Internet Chapitre 4 : Introduction au langage HTML 2014/2015 Cours TIC - 1ère année MI

Plus en détail

Installation Windows 2000 Server

Installation Windows 2000 Server Installation Windows 2000 Server 1. Objectif Ce document donne une démarche pour l installation d un serveur Windows 2000, d un serveur DNS et d un contrôleur de domaine (DC), en regard de certains éléments

Plus en détail

Explication des statistiques

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

Plus en détail

Installation et utilisation de SSH. .et

Installation et utilisation de SSH. .et Installation et utilisation de SSH.et.soumission de travail SSH est un protocole de communication qui permet de communiquer à distance entre deux ordinateurs. Pour cela, il faut qu un des deux ordinateurs

Plus en détail

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

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

Plus en détail

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

Procédure de Choix du mode Fin de Journée Version 7.1. pour le logiciel MicroJet Version 9.0x de TNT Express National.

Procédure de Choix du mode Fin de Journée Version 7.1. pour le logiciel MicroJet Version 9.0x de TNT Express National. Procédure de Choix du mode Fin de Journée Version 7.1 pour le logiciel MicroJet Version 9.0x de TNT Express National. (via un transfert FTP sur le serveur de TNT ou via une clé USB) Préambule : Cette procédure

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

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16

CONFIGURATION P 2 P 3 P 3 P 10 P 11 P 13 P 14 P 16 CONFIGURATION 1 Présentation 2 Topologie du projet 3 Installation 4 Configuration 4.1 Création de la DMZ publique 4.2 Accès vers l Internet 4.3 Publication d Exchange 4.4 Rapports d activité et alertes

Plus en détail

INGI2347 - Securité. Rapport n 2. par François Beuvens Grégoire de Hemptinne. Groupe 6

INGI2347 - Securité. Rapport n 2. par François Beuvens Grégoire de Hemptinne. Groupe 6 INGI2347 - Securité Projet de sécurité Rapport n 2 par François Beuvens Grégoire de Hemptinne Groupe 6 Table des matières 1 Implémentation 3 1.1 Avant-propos..................................... 3 1.1.1

Plus en détail

Accès au serveur SQL. Où ranger les accès au serveur SQL?

Accès au serveur SQL. Où ranger les accès au serveur SQL? 150 requête SQL, cela aura un impact sur un nombre limité de lignes et non plus sur l ensemble des données. MySQL propose une clause originale en SQL : LIMIT. Cette clause est disponible avec les différentes

Plus en détail

Réseau ISO-Raisin. Surveillance des. Infections du Site Opératoire. (Surveillance des interventions prioritaires)

Réseau ISO-Raisin. Surveillance des. Infections du Site Opératoire. (Surveillance des interventions prioritaires) Réseau ISO-Raisin Surveillance des Infections du Site Opératoire (Surveillance des interventions prioritaires) Guide d utilisation de l application WEBISO Année 2015 Sommaire Guide utilisateur - Application

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

Architecture client-serveur

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

Plus en détail

Quelques éléments de compilation en C et makefiles

Quelques éléments de compilation en C et makefiles Quelques éléments de compilation en C et makefiles Guillaume Feuillade 1 Compiler un programme C Le principe de la compilation consiste à passer d un ensemble de fichiers de code à un programme exécutable

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

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr

Technologies Web. Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Technologies Web Farah Benamara Zitoune Maître de conférences IRIT-UPS benamara@irit.fr Plan du cours Cours 1 : Introduction HTML/CSS Cours 2 : Introduction programmation web + javascirpt Cours 3 : Introduction

Plus en détail

Client Distribution : Interne

Client Distribution : Interne Le fichier Vertec.ini Produit : Vertec Version produit : 5.6 Document Version doc : 1 Base de connaissance Publication : Création : 30.04.2012 FAQ Astuces Modification : 30.04.2012 Client Distribution

Plus en détail

GIR SabiWeb Prérequis du système

GIR SabiWeb Prérequis du système GIR SabiWeb Prérequis du système www.gir.fr info@gir.fr Version 1.0-0, mai 2007 2 Copyright c 2006-2007 klervi. All rights reserved. La reproduction et la traduction de tout ou partie de ce manuel sont

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

Internet. PC / Réseau

Internet. PC / Réseau Internet PC / Réseau Objectif Cette présentation reprend les notions de base : Objectif, environnement de l Internet Connexion, fournisseurs d accès Services Web, consultation, protocoles Modèle en couches,

Plus en détail

Conception des réseaux Contrôle Continu 1

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

Plus en détail

TP4 : Firewall IPTABLES

TP4 : Firewall IPTABLES Module Sécurité TP4 : Firewall IPTABLES Ala Rezmerita François Lesueur Le TP donnera lieu à la rédaction d un petit fichier texte contenant votre nom, les réponses aux questions ainsi que d éventuels résultats

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

GUIDE D'UTILISATION DU TRANSFERT DE FICHIERS À LA RAMQ

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

Plus en détail

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

Tutoriel [1/10] mise à jour le mardi 22 juillet 2014

Tutoriel [1/10] mise à jour le mardi 22 juillet 2014 Tutoriel [1/10] mise à jour le mardi 22 juillet 2014 Le bon raccourci qui fait gagner du temps 1] Un raccourci, qu est-ce que c est? 2] Comment crée-t-on un raccourci web? Avec Internet Explorer (à partir

Plus en détail

Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10

Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10 Serveur AD, DNS et DHCP sous Windows Serveur 2008 R2 et VMWare Workstation 10 Sommaire 1. Contexte... 2 2. Prérequis... 2 3. Configuration du réseau dans VMWare Workstation 10... 2 4. Windows Server 2008

Plus en détail

Sommaire CONNEXION WEBMAIL... 2 1. Comment se connecter au Webmail?... 2

Sommaire CONNEXION WEBMAIL... 2 1. Comment se connecter au Webmail?... 2 Sommaire CONNEXION WEBMAIL... 2 1. Comment se connecter au Webmail?... 2 LE COURRIER... 4 CREER UN NOUVEAU MESSAGE... 4 1. Comment envoyer un mail?... 4 2. Envoi avec une pièce jointe?... 7 REPONDRE A

Plus en détail

Electronic Banking ABACUS

Electronic Banking ABACUS Descriptif d installation pour la communication FTAM Electronic Banking ABACUS Version 2003.1 Ce document décrit la configuration et l utilisation de l interface de communication FTAM. L interface FTAM

Plus en détail

Réaliser des achats en ligne

Réaliser des achats en ligne 2 décembre 2013 p 1 Réaliser des achats en ligne La période de Noël approche. Vous avez peut-être envie d effectuer des achats sur internet, mais vous n osez pas, de peur qu on vous vole vos informations

Plus en détail

Bases de données et Sites Web. Li345

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

Plus en détail

Technologies du Web Master COMASIC Internet et HTTP

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

Plus en détail

Procédure de Choix du mode Fin de Journée Version 6.3. pour le logiciel MicroJet Version 8.2x de TNT Express National.

Procédure de Choix du mode Fin de Journée Version 6.3. pour le logiciel MicroJet Version 8.2x de TNT Express National. Procédure de Choix du mode Fin de Journée Version 6.3 pour le logiciel MicroJet Version 8.2x de TNT Express National. (via un transfert FTP sur le serveur de TNT ou via une clé USB) Préambule : Cette procédure

Plus en détail

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

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

Plus en détail

Étape 1 / CHOISIR UN HÉBERGEMENT

Étape 1 / CHOISIR UN HÉBERGEMENT expérience HÉberger son blog Wordpress Pour des projets modestes ou si on veut juste s essayer à la publication en ligne, on peut créer un blog chez un hébergeur clés en mains et gratuit (ex: Blogger,

Plus en détail

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2

jquery Mobile La bibliothèque JavaScript pour le Web mobile Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 jquery Mobile La bibliothèque JavaScript pour le Web mobile É r i c S a r r i o n Avec la contribution de Thomas Ber tet Groupe Eyrolles, 2012, ISBN : 978-2-212-13388-2 1 Installation de jquery Mobile

Plus en détail

Intégration e-commerce. Version 0.4

Intégration e-commerce. Version 0.4 Intégration e-commerce Version 0.4 16 octobre 2013 1 Table des matières 1 Introduction... 3 Fonctionnement général... 3 La sécurité... 3 2 Paramètres de votre compte... 4 3 Créer un paiement... 5 Le paramètre

Plus en détail

RAPPORT DE CONCEPTION UML :

RAPPORT DE CONCEPTION UML : Carlo Abi Chahine Sylvain Archenault Yves Houpert Martine Wang RAPPORT DE CONCEPTION UML : Bamboo Ch@t Projet GM4 Juin 2006 Table des matières 1 Introduction 2 2 Présentation du logiciel 3 2.1 Précisions

Plus en détail

1.1 Remote Procedure Call (RPC)

1.1 Remote Procedure Call (RPC) 1.1 Remote Procedure Call (RPC) Le modèle Client-Serveur est un modèle simple à utiliser pour la structuration des systèmes répartis. Mais ce modèle s appuie sur des communications de type entrée/sortie

Plus en détail

Architecture client-serveur

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

Plus en détail

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

Service Web ATUM spécifications techniques

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

Plus en détail

Mesure d'audience sur Internet

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

Plus en détail

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie

Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie Secteur Tertiaire Informatique Filière étude - développement. Développer des composants d interface Créer des formulaires de saisie JAVASCRIPT JS08-Gestion des cookies-consignes Accueil Apprentissage Période

Plus en détail

Mise en place d un serveur FTP

Mise en place d un serveur FTP Mise en place d un serveur FTP Benjamin Dupuy BTS Service Informatique aux Organisations Option : Solutions d'infrastructure, systèmes et réseaux Epreuve E6 Parcours de professionnalisation Session : 2015

Plus en détail

Serveur DNS. Julien Danjou jdanjou@linuxenrezo.org

Serveur DNS. Julien Danjou jdanjou@linuxenrezo.org Serveur DNS Julien Danjou jdanjou@linuxenrezo.org Pour convertir les noms d ordinateurs en adresses IP, la méthode la plus simple consiste à tenir à jour un fichier hosts contenant les adresses IP suivies

Plus en détail

1 Plusieurs configurations pour PowerStudio

1 Plusieurs configurations pour PowerStudio PowerStudio est une suite de logiciel concernant la gestion de l énergie et dont ses principales caractéristiques sont : La configuration, la communication et le suivi des appareils de mesure d énergie.

Plus en détail

Module pour la solution e-commerce Opencart

Module pour la solution e-commerce Opencart Module pour la solution e-commerce Opencart sommaire 1. Introduction... 3 1.1. Objet du document... 3 1.2. Contenu du document... 3 1.3. Liste des documents de référence... 3 1.4. Avertissement... 3 1.5.

Plus en détail

Mise en place d un reverse proxy

Mise en place d un reverse proxy Mise en place d un reverse proxy Certaines adresses IP ont été effacées dans ce document pour des raisons évidentes de sécurité. 1 Table des matières Utilisation des noms DNS pour atteindre les applications

Plus en détail

Plateforme Systempay. Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1.

Plateforme Systempay. Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1. Plateforme Systempay Intégration du module de paiement pour la plateforme VIRTUEMART 2.0 et supérieur PAIEMENT UNITAIRE Version 1.2a Rédaction, Vérification, Approbation Rédaction Vérification Approbation

Plus en détail

Création d un serveur Web Sous Windows 2000 Pro / Server / XP Pro

Création d un serveur Web Sous Windows 2000 Pro / Server / XP Pro Création d un serveur Web Sous Windows 2000 Pro / Server / XP Pro 1 Introduction IIS (Internet information service) est un composant Windows qui prend en charge le service Web (http) et FTP. Le serveur

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

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

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

Plus en détail

Réseau ISO-Raisin. Surveillance des Infections du Site Opératoire. (Surveillance agrégée)

Réseau ISO-Raisin. Surveillance des Infections du Site Opératoire. (Surveillance agrégée) Réseau ISO-Raisin Surveillance des Infections du Site Opératoire (Surveillance agrégée) Guide d utilisation de l application WEBISO Année 2015 Sommaire 1 Introduction... 3 2 Connexion et authentification...

Plus en détail

Projet Magistère: SSL

Projet Magistère: SSL Université Joseph Fourier, IMA Janvier 2010 Table des matières 1 Introduction 2 Qu est ce que SSL? 3 Historique de SSL/TLS 4 Théorie à propos du fonctionnement de SSL 5 Structure d un certificat 6 SSL

Plus en détail

Ingénierie des réseaux

Ingénierie des réseaux Ingénierie des réseaux Projet Socket-calculatrice Yorly ORELLANOS Mathieu CASTETS Thibault ETIENNE Conception Pour réaliser cette application, nous avons commencé par imaginer le comportement désiré. Ceci

Plus en détail

Version pour un ordinateur Macintosh

Version pour un ordinateur Macintosh Procédures à suivre pour accéder au site internet de l UQAM afin de poser votre candidature sur les cours à l affichage Étape n 1 : Version pour un ordinateur Macintosh N. B. : Cette étape s adresse aux

Plus en détail