ac5bb058970f891eb1c4933affb93dbc.ppt
- Количество слайдов: 85
CSI 3540 STRUCTURES ET NORMES DU WEB Assises du Web: Clients, Serveurs et Communication
Internet w. Origines techniques: ARPANET (Fin années 1960) n n Une des premières tentatives de résauter des ordinateurs hétérogènes et géographiquement dispersés Courriel disponibles sur ARPANET en 1972 w. Accès à ARPANET limité à un groupe select financé par le dept de la defense (Do. D) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 2
Internet w. Réseaux libre accès: n n Réseaux universitaires régionaux (p. ex. SURAnet) CSNET des départments d’informatique n’etait pas sur ARPANET w. NSFNET (1985 -1995) n n Objectif principal: connecter des superordinateurs Objectif secondaire: fournir l'épine dorsale pour se connecter à des réseaux régionaux CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 3
Internet Les 6 centres de superordinateurs reliés par la dorsale NSFNET originale CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 4
Internet w Vitesse de backbone NSFNET original : 56 kbit/s w Mise à jour à 1, 5 Mbit/s (T 1) en 1988 w Mise à jour à 45 Mbit/s (T 3) en 1991 w En 1988 connection de réseaux au Canada et en France sur NSFNET w En 1990, ARPANET est mis hors service, NSFNET devient le centre de l'internet CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 5
Internet w Internet : le réseau des réseaux connecté via un réseau public (backbone) et communiquant à l'aide du protocole de communication TCP/IP n Backbone initialement fourni par NSFNET, financés par le secteur privé (frais d'ISP) depuis 1995 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 6
Protocoles Internet w Protocole de communication : Comment les ordinateurs ‘parlent’ entr’eux n Cfr protocole du téléphone: comment prendre ou terminer un appel; quelle langue parler, etc. . w. Protocoles Internet développés comme partie de la recherche de l'ARPANET n ARPANET a commencé à l'aide de TCP/IP en 1982 w. Conçus pour une utilisation dans des réseaux locaux (LAN) et entre ceux-ci CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 7
Protocole Internet (IP) w. IP est le protocole fondamental définissant l'Internet (comme son nom l'indique!) w. Adresse IP : n n nombre (32 bits en IPv 4; 128 bits en IPv 6) associé au maximum avec un seul périphérique à la fois (même si le périphérique peut en avoir plusieurs) écrit sous forme de quatre octets séparés par des points, par exemple 192. 0. 34. 166 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 8
IP w Fonction IP : transférer des données du périphérique source vers le périphérique de destination w Le logiciel de l’IP source crée un paquet qui représente les données n n En-tête (‘Header ’) : les adresses IP source et de destination, la longueur des données, etc. . Données elles-mêmes w Si la destination est sur un autre réseau local, le paquet est envoyé vers une passerelle (‘Gateway ’) qui se connecte à plusieurs réseaux CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 9
IP Source Network 1 Gateway Destination Gateway Network 2 Network 3 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 10
IP Source LAN 1 Gateway Destination Gateway Internet Backbone LAN 2 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 11
Protocole de Contrôle de la Transmission (TCP) w. Limitations du IP: n n Aucune garantie de livraison de paquets (paquets peuvent être abandonnés) La communication est à sens unique (source à la destination) w. TCP ajoute le concept d'une connexion sur le dessus de IP n n Garantit que les paquets soient livrés Assure une communication bidirectionnelle (duplex intégral) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 12
TCP – Vue Simplifiée Etablir une connexion. { Puis-je m'adresser à vous? OK. Envoyer des paquets avec accusé de réceptiont. { { Renvoyez les paquets si aucun accusé de réception (ou retardé). Voici un paquet. Source Je l’ai eu. Destination Voici un paquet expiré. Je l’ai eu. CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 13
TCP w. TCP ajoute également le concept d'un port n n En-tête TCP contient le numéro de port qui représente un programme d'application sur l'ordinateur de destination Certains numéros de ports ont des significations standards l n Exemple : port 25 est normalement utilisé pour le courrier électronique transmis en utilisant le SMTP (Simple Mail Transfer Protocol) Autres numéros de ports sont disponibles selon le mode premier-arrivé, premier servi à n'importe quelle application CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 14
TCP – Vue Simplifiée (Suite) Rectangle: applications Ovales: donneés transmises Numéro cerclés: Ordre d’exécution des operations de TCP CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 15
User Datagram Protocol (UDP) w. Similaire au TCP car: n n Construit sur IP Fournit un concept de port w. Non-similaire au TCP car: n n Pas de concept de connexion Pas de garantie de transmission w. Avantage de UDP vs. TCP: n Leger et donc rapide pour des messages uniques CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 16
Domain Name Service (DNS) w. DNS est l’ « annuaire » pour l'Internet w. Mappage entre les noms d'hôte et adresses IP n DNS utilise souvent le protocole UDP pour la communication w. Nom d’hôte (‘host name’) n n Faits d’étiquettes séparées par des points, p. ex. www. unesco. org L’étiquette finale est le domaine de premier niveau l Générique: . com, . org, etc. l Code de pays: . us, . il, . ca, etc. CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 17
DNS w Les domaines de 1 er niveau (créés par ICANN) sont divisés en domaines de deuxième niveau, qui peuvent être encore divisés en sous-domaines, etc. . n Dans www. unesco. org, unesco est un domaine de second niveau w Un nom d'hôte et un nom de domaine sont appelées le nom de domaine complet de l'ordinateur n P. ex. www est le nom d’hôte, www. unesco. org est le nom de domaine complet CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 18
DNS w Le programme nslookup permet d'accéder en ligne de commande au DNS (sur la plupart des systèmes) w Recher un nom d'hôte à partir d’une adresse IP donnée est connue comme une recherche inversée n n Rappelons qu’un seul hôte peut avoir plusieurs adresses IP L’adresse retournée est l’adresse IP canonique utilisée dans le système DNS CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 19
DNS wipconfig (sous windows) peut être utilisé pour trouver l'adresse IP de votre machine wipconfig /displaydns affiche le contenu du Cache de résolution DNS w(ipconfig /flushdns l’efface) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 20
Analogie au Réseau Téléphonique w. IP ~ réseau téléphonique w. TCP ~ appeler quelqu’un qui répond, avoir une conversation et racrocher w. UDP ~ appeler quelqu’un et laisser un message w. DNS ~ répertoire téléphonique CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 21
Protocoles de Haut Niveau w De nombreux protocoles sont construits sur TCP n Analogie du téléphone: TCP spécifie comment initier et mettre fin à l'appel téléphonique, mais certains autres protocoles spécifient comment continuer la conversation réellement w Quelques exemples: n n n SMTP (courriel) (port 25) FTP (transfert de fichiers) (port 21) HTTP (transfert de documents Web) (port 80) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 22
World Wide Web w. A l'origine, l'un de nombreux systèmes pour organiser l'information sur Internet n Concurrence: WAIS (Wide Area Info System), Gopher, ARCHIE w. Particularité du Web : prise en charge de l'hypertexte (texte contenant des liens) n n Communication via le protocole de transport d’hypertexte (HTTP) Représentation du document utilisant le langage de balisage Hypertexte (HTML) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 23
World Wide Web w. Le Web est la collection d'ordinateurs (serveurs Web) sur Internet qui fournissent des informations, notamment les documents HTML, par l'intermédiaire de HTTP. w. Les machines/programmes qui accèdent aux informations sur le Web sont appelées des clients Web. Un navigateur Web est un logiciel utilisé par un utilisateur pour accéder au Web. CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 24
Hypertext Transport Protocol (HTTP) w. HTTP est basé sur le modèle de communication demande-réponse : n n le Client envoie une requête, le serveur envoie une réponse w. HTTP est un protocole sans état : n le protocole n'exige pas du serveur de se rappeler quoi que ce soit sur le client entre les demandes. CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 25
HTTP w Mise en œuvre normalement sur une connexion TCP (80 est le numéro de port standard pour HTTP) w Interaction typique navigateur / serveur: n n n L’utilisateur entre l'adresse Web dans le navigateur Le navigateur utilise DNS pour localiser l'adresse IP Le navigateur ouvre une connexion TCP au serveur Le navigateur envoie une demande HTTP via la connexion Le serveur envoie la réponse HTTP au navigateur via la connexion Le navigateur affiche le corps de la réponse dans la zone cliente de la fenêtre du navigateur CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 26
HTTP w. Les informations transmises via le protocole HTTP sont souvent entièrement du texte w. On peut utiliser le protocole Telnet sur Internet pour simuler la demande du navigateur et découvrir la réponse du serveur CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 27
HTTP Connecter { Envoyer Une requête { { Recevoir une réponse $ telnet www. example. org 80 Trying 192. 0. 34. 166. . . Connected to www. example. com (192. 0. 34. 166). Escape character is ’^]’. GET / HTTP/1. 1 Host: www. example. org HTTP/1. 1 200 OK Date: Thu, 09 Oct 2003 20: 30: 49 GMT … CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 28
Requête HTTP w. Structure de la requête: n n ligne de démarrage en-tête (un ou plusieurs champs) ligne vide Corps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 29
Requête HTTP w. Structure de la requête: n n Ligne de démarrage En-tête (un ou plusieurs champs) Ligne vide Corps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 30
Requête HTTP w. Ligne de démarrage n Example: GET / HTTP/1. 1 w. Trois parties séparées par des espaces: n n n Méthode de requête HTTP URI (Uniform Resource Identifier) de la requête Version du HTTP CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 31
Requête HTTP w. Ligne de démarrage n Example: GET / HTTP/1. 1 w. Trois parties séparées par des espaces: n n n Méthode de requête HTTP URI (Uniform Resource Identifier) de la requête HTTP version l Nous couvrirons la version 1. 1 (l’exemple donné) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 32
Requête HTTP w. Ligne de démarrage n Example: GET / HTTP/1. 1 w. Trois parties séparées par des espaces: n n n Méthode de requête HTTP URI de la requête Version HTTP CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 33
Requête HTTP w. URI (Uniform Resource Identifier) n Syntaxe: schème : hostname Request-URI l n Ex: Dans http: //www. example. com/, on a: schème : http host name : www. example. com request-URI : / Toute la chaine composée de ces 3 ingredients est appelée URI. CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 34
URI w. Il y a deux types de URI: n URN (Uniform Resource Name) Peut être utilisé pour identifier des ressources avec des noms uniques, à l’exemple des livres (qui ont un ISBN unique) l Schème : urn l n URL (Uniform Resource Locator ) Spécifie l'emplacement où vous trouverez une ressource l Schèmes: http, https, ftp, mailto, file l CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 35
Requête HTTP w. Ligne de démarrage n Example: GET / HTTP/1. 1 w. Trois parties séparées par des espaces: n n n Méthode de la requête HTTP URI (Uniform Resource Identifier) de la requête Version du HTTP CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 36
Requête HTTP w Méthodes de requêtes usuelles: GET, POST, HEAD, OPTIONS, PUT, … n n n GET l Utilisée si vous cliquez sur le lien ou l'adresse est tapée dans le navigateur. Aucun corps dans la requête ! POST l Utilisée quand vous cliquez sur le bouton ‘soumettre’ dans un formulaire l L’info du formulaire contenue dans le corps de la requête HEAD l Demande que les champs d'en-tête uniquement (pas de corps) soient retournées dans la réponse CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 37
Requête HTTP w. Structure d’une requête: n n Ligne de démarrage Champs de l’en-tête Ligne vide Corps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 38
Requête HTTP w. Structure des champs de l’en-tête: n field name : field value w. Syntaxe n n n Nom du champ n'est pas sensible aux majuscules La valeur de champ peut continuer sur plusieurs lignes en commençant les lignes continues avec des espaces blancs Les valeurs de champ peuvent contenir des types MIME, les valeurs de qualité et les caractères génériques (* ) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 39
MIME (Multipurpose Internet Mail Extensions) w. Convention pour spécifier le type de contenu d'un message n En HTTP, généralement utilisée pour spécifier le type de contenu du corps de la réponse w. Syntaxe du type de contenu MIME: n top-level type / subtype w. Exemples: text/html, image/jpeg CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 40
Valeurs de Qualité HTTP et Caractères Génériques w Champ d'en-tête avec des valeurs de qualité: accept: text/xml, text/html; q=0. 9, text/plain; q=0. 8, image/jpeg, image/gif; q=0. 2, */*; q=0. 1 w Une valeur de la qualité s'applique à tous les items la précédant w Une valeur numérique élevée signifie une plus grande préférence w Des caractères génériques spécifient la qualité 0. 1 pour les MIMEs non spécifiées précédemment CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 41
Requête HTTP w Champs d’en-tête usuels: n n n n Host : URL du nom d'hôte (obligatoire) User-Agent: type de navigateur envoyant la demande Accept: types MIME de documents acceptables Connection: valeur close indique au serveur de fermer la connexion après chaque séquence de requête/réponse Content-Type: Type MIME du corps des requêtes POST Content-Length: nombre d’octets dans le corps du message Referer: URL du document contenant le lien qui fourni des URI pour cette requête HTTP CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 42
Réponse HTTP w. Structure de la réponse: n n ligne de status champs d’en-tête ligne vide corps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 43
Réponse HTTP w. Structure de la réponse: n n Ligne de status champs d’en-tête ligne vide corps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 44
Réponse HTTP w. Ligne de status n Exemple: HTTP/1. 1 200 OK w. Trois parties séparées par des espaces: n n n version HTTP code de status raison (le code en clair!) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 45
Réponse HTTP w Code de status n n Nombre à 3 chiffres Le premier chiffre est la classe du code de status: l l l 1=Informationel 2=Succès 3=Redirection (URL alternatif fournis) 4=Erreur du client 5=Erreur du serveur n Les 2 autres chiffres fournissent de l’info additionnelle n Voir http: //www. w 3. org/Protocols/rfc 2616 -sec 10. html CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 46
Réponse HTTP w. Structure de la réponse: w. Ligne de status wchamps d’en-tête wligne vide wcorps optionel CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 47
Réponse HTTP w Champs usuels dans l’en-tête: n n n Connection, Content-Type, Content-Length Date: date et l'heure au cours de laquelle la réponse a été générée (requise) Location: URI de rechange si le statut est la redirection Last-Modified: date et heure auxquelles la ressource demandée a été modifiée sur le serveur Expires: date et l'heure après laquelle la copie du client de la ressource sera obsolète ETag: un identificateur unique pour cette version de la ressource demandée (changements si la ressource change) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 48
Cache du Client w. Un cache est une copie locale des informations obtenues auprès d'autres sources w. La plupart des navigateurs web utilisent un cache pour stocker les ressources demandées afin que les demandes suivantes pour la même ressource n'exige pas nécessairement une requête/réponse HTTP n Ex: icône qui apparaît plusieurs fois dans une page Web CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 49
Cache du Client Server 1. Requête HTTP pour une image 2. Réponse HTTP contenant l’image Serveur Web Browser 3. Stocker l’image Cache CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 50
Client Browser J'ai besoin de cette image à nouveau. . . Cache du Client Serveur Web Cache CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 51
Client Cache du Client Serveur Alternative 1 … Browser J'ai besoin de cette image à nouveau. . . Requête HTTP pour une image Serveur Web Réponse HTTP contenant l’image Cache CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 52
Client Cache du Client Serveur Web Browser J'ai besoin de cette image à nouveau. . . Obtenir l’image Serveur … ou Alternative 2 Cache CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 53
Cache du Client w. Les avantages du cache n n n (Beaucoup) plus rapide que la demande/réponse HTTP Moins d’utilisation du réseau Moins de charge sur le serveur w. Désavantage du cache n La copie mise en cache de la ressource peut être non valide (incompatible avec la version originale) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 54
Cache du Client w. Validation de la resource en cache: n n n Envoyer un message HTTP HEAD demander et vérifier la dernière modification ou le ETag de l’en-tête de la réponse Comparer la date/heure actuelle avec l'en-tête Expires envoyée dans réponse contenant la ressource Si aucune en-tête d'expiration n’a été envoyée, utilisez un algorithme heuristique pour estimer la valeur d'expiration CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 55
Ensemble de Caractères w Chaque document est représenté par une chaîne de valeurs entières (points de code) w Le mappage des points de code aux caractères est défini par un jeu de caractères (‘Character set’ ) w Certains champs d'en-tête ont comme valeurs des jeux de caractères: n Accept-Charset: champs d’en-tête de requête listant le jeu de caractères que le client peut reconnaître l n Ex: accept-charset: ISO-8859 -1, utf-8; q=0. 7, *; q=0. 5 Content-Type: peut inclure le jeu de caractères utilisé pour représenter le corps du message HTTP l Ex: Content-Type: text/html; charset=UTF-8 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 56
Ensemble de Caractères w Techniquement, plusieurs « jeux de caractères » sont en fait des encodages de caractères n n Un encodage représente les points de code à l'aide de chaînes d'octets de longueur variable Les exemples plus courants sont les encodages UTF-8 et UTF-16 basés sur Unicode w IANA maintient une liste complète des jeux/encodages de caractères reconnus sur Internet CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 57
Ensemble de Caractères w Un PC US ordinaire produit des documents ASCII w Le jeu de caractères US-ASCII peut être utilisé pour des documents web, mais n'est pas recommandé w UTF-8 et ISO-8859 -1 sont des sur-ensembles d'USASCII et assurent la compatibilité internationale n n UTF-8 peut représenter tous les caractères ASCII à l'aide d'un seul octet et des caractères Unicode arbitraires en utilisant jusqu'à 4 octets ISO-8859 -1 est un code à 1 octet possédant de nombreux caractères communs en Europe occidentale, comme é CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 58
Clients Web w. Beaucoup de clients web possibles: n n "browser" à texte seulement (lynx) Téléphones mobiles Robots (clients logiciel uniquement, par exemple, « robots » des moteurs de recherche) etc. w. Nous nous concentrerons sur les navigateurs web traditionnels CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 59
Navigateurs Web w. Premier navigateur graphique fonctionnant sur des plates-formes à usage général : mosaïque (1993) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 60
Navigateurs Web CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 61
Navigateurs Web w. Tâches principales: n n n Convertir les adresses web (URL) en demandes HTTP Communiquer avec les serveurs web via HTTP Afficher convenablement les documents renvoyés par un serveur de documents CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 62
URL de HTTP http: //www. example. org: 56789/a/b/c. txt? t=win&s=chess#para 5 host authority port path query fragment Request-URI w Le navigateur utilise une autorité pour se connecter via TCP w Request-URI inclu dans la ligne de départ (/ utilisé pour le chemin d'accès si aucun n’est fourni) w L’identificateur de fragment n’est pas envoyé au serveur (utilisé seulement pour faire défiler la zone client du navigateur) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 63
Navigateurs Web w Fonctionalité standard n n n n Enregistrer la page web sur le disque Recher une chaîne dans la page Remplir automatiquement des formulaires (mots de passe, numéros de CC, . . . ) Définir les préférences (langue, jeu de caractères, cache et paramètres HTTP) Modifier le style d'affichage (par exemple, augmentation des tailles de police) Afficher les infos brutes d'en-tête HTML et HTTP (p. ex. , Last-Modified) Afficher l'historique des adresses web visitées Signet des pages favorites pour des retours simples CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 64
Navigateurs Web w. Fonctionalité additionnelle: n n n Exécution de scripts (par exemple, les menus déroulants) Gestion des événements (par exemple, les clics de souris) GUI pour les contrôles (par exemple, les boutons) Sécuriser la communication avec les serveurs Affichage des documents non-HTML (par exemple PDF) par l'intermédiaire de plug-ins CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 65
Serveurs Web w Fonctionalité de base: n n n Recevoir la requête HTTP via TCP Mapper l'en-tête d'hôte à un hôte virtuel spécifique (l'un des nombreux noms d'hôte qui partage une adresse IP) Mapper le Request-URI à la ressource spécifique associée à l'hôte virtuel l l n n Fichier : Fichier retourné dans la réponse HTTP Programme : lancer le programme et renvoyer le résultat dans la réponse HTTP Mapper le type de ressource au type MIME approprié et l'utiliser pour définir l'en-tête Content-Type dans la réponse HTTP Journaliser l’information sur la demande et la réponse CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 66
Serveurs Web: Exemples w httpd : UIUC, le principal serveur Web utilisé vers 1995 w Apache: version de httpd, maintenant le serveur les plus populaire (en particulier sur les plates-formes Linux) w IIS: ‘Microsoft Internet Information Server’ w Tomcat: n n n Basé sur Java Fournit un conteneur (Catalina) pour exécuter des Java servlets (programmes de génération de HTML) comme back-end pour Apache ou IIS Peut exécuter en autonomie à l'aide du front-end HTTP Coyote CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 67
Serveurs Web w Certains paramètres de communication de Coyote: n n Adresses IP autorisées/bloquées Max. connexions TCP actives simultanées Max. demandes en file d'attente de connexion TCP Temps « Keep-alive » pour les connexions TCP inactives w Possibilité de modifier les paramètres pour régler les performances du serveur CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 68
Serveurs Web w. Certains paramètres du conteneur Catalina: n n n Les noms d'hôtes virtuels et les ports associés Préférences de journalisation Mappage du Request-URI aux ressources du serveur Mots de passe pour la protection des ressources Utilisation de la mise en cache côté serveur CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 69
Serveur Web Tomcat w. Administration du serveur basé sur le HTML w. Recherchez http: //localhost: 8080 et cliquez sur le lien ‘Server Administration’ n localhost est un nom d'hôte spécial qui signifie « cette machine » CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 70
Serveur Web Tomcat CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 71
Serveur Web Tomcat CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 72
Serveur Web Tomcat CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 73
Serveur Web Tomcat w. Quelques champs du Connecteur: n n n Numéro de port : port « possédé » par ce connecteur Nombre maximal de Threads : max connexions traitées simultanément Délai de connexion : temps keep-alive CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 74
Serveur Web Tomcat CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 75
Serveur Web Tomcat w. Chaque hôte est un hôte virtuel (on peut en avoir plusieurs par connecteur) w. Quelques champs: n n Host: « localhost » ou un nom de domaine complet Application Base: Répertoire (peut être le chemin relatif au répertoire d'installation de JWSDP) contenant des ressources associées à cet hôte CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 76
Serveur Web Tomcat CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 77
Serveur Web Tomcat w Le contexte fournit le mappage du chemin d'accès de l’URI de la requête à une application web w Le champs ‘Document Base’ est un répertoire (éventuellement par rapport à ‘Application Base’) qui contient les ressources pour cette application web w Pour cet exemple, en accédant à http: //localhost: 8080/ on retourne une ressource de c: jwsdp-1. 3webappsROOT n Retourne index. html (fichier de bienvenue standard) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 78
Serveur Web Tomcat w Un journal d’accès enregistre les requêtes HTTP w Les paramètres définis à l'aide de Access. Log. Valve w L'emplacement par défaut : journaux/access_log. * sous le répertoire d'installation de JWSDP (Java Web Service Developer Pack ) w Exemple d’entrée dans le journal (une ligne: www. example. org - admin [20/Jul/2005: 08: 03: 22 -0500] "GET /admin/frameset. jsp HTTP/1. 1" 200 920 CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 79
Serveur Web Tomcat w Autres journaux fournis par défaut dans JWSDP: n ‘Message’ journalise les messages envoyés au service de journalisation par les applications web ou par Tomcat luimême l l n logs/jwsdp_log. *: journal des messages par défaut logs/localhost_admin_log. *: journal des messages pour les applications web dans le contexte /admin ‘System. out’ et ‘System. err’ (traces d'exception souvent trouvés ici): w logs/launcher. server. log CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 80
Serveur Web Tomcat w. Contrôle d’accès: n Protection par mot de passe (p. ex. Pages admin) Utilisateurs et rôles définis dans conf/tomcat-users. xml l n Refuser l'accès aux machines Utile pour refuser l'accès à certains utilisateurs en interdisant l'accès à partir des machines qu'ils utilisent l Liste des ordinateurs refusés placée dans Remote. Host. Valve (refuser de nom d'hôte) ou Remote. Address. Valve (nier par adresse IP) l CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 81
Serveurs Sécurisés w Étant donné que les messages HTTP voyagent généralement via un réseau public, les informations personnelles (telles que les numéros de carte de crédit) doivent être chiffrées pour empêcher l'écoute clandestine w Le schème d'URL https indique au navigateur d'utiliser le cryptage w Encryptages standards usuels: n n ‘Secure Socket Layer’ (SSL) ‘Transport Layer Security’ (TLS) CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 82
Serveurs Sécurisés Je tiens à vous parler en sécurité (sur le port 443) Requêtes HTTP Voici mes données de certificats et de chiffrement Requêtes HTTP Voici une requête HTTP chiffrée Browser TLS/ SSL Voici une réponse HTTP chiffrée TLS/Serveur Web SSL Voici une demande HTTP chiffré Réponses HTTP Voici une réponse HTTP chiffrée CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan Réponses HTTP 83
Serveurs Sécurisés: ‘Man-in-the-Middle Attack’ Fake DNS Server What’s IP address for 100. 1. 1. 1 www. example. org? Browser Fake www. example. org 100. 1. 1. 1 My credit card number is… Real www. example. org CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 84
Serveurs Sécurisés: Empêcher le ‘Man-in-the-Middle’ Fake DNS Server What’s IP address for 100. 1. 1. 1 www. example. org? Browser Fake www. example. org 100. 1. 1. 1 Send me a certificate of identity Real www. example. org CSI 3540 : I. Kiringa : notes basées sur J. C. Jackson et G. V. Jourdan 85
ac5bb058970f891eb1c4933affb93dbc.ppt