La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Assises du Web: Clients, Serveurs et Communication CSI 3540 STRUCTURES ET NORMES DU WEB.

Présentations similaires


Présentation au sujet: "Assises du Web: Clients, Serveurs et Communication CSI 3540 STRUCTURES ET NORMES DU WEB."— Transcription de la présentation:

1 Assises du Web: Clients, Serveurs et Communication CSI 3540 STRUCTURES ET NORMES DU WEB

2 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan 2 Internet Origines techniques: ARPANET (Fin années 1960) Une des premières tentatives de résauter des ordinateurs hétérogènes et géographiquement dispersés Courriel disponibles sur ARPANET en1972 Accès à ARPANET limité à un groupe select financé par le dept de la defense (DoD)

3 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan3 Internet Réseaux libre accès: Réseaux universitaires régionaux (p.ex. SURAnet) CSNET des départments dinformatique netait pas sur ARPANET NSFNET ( ) Objectif principal: connecter des superordinateurs Objectif secondaire: fournir l'épine dorsale pour se connecter à des réseaux régionaux

4 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan4 Internet Les 6 centres de superordinateurs reliés par la dorsale NSFNET originale

5 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan5 Internet Vitesse de backbone NSFNET original : 56 kbit/s Mise à jour à 1,5 Mbit/s (T1) en 1988 Mise à jour à 45 Mbit/s (T3) en 1991 En 1988 connection de réseaux au Canada et en France sur NSFNET En 1990, ARPANET est mis hors service, NSFNET devient le centre de l'internet

6 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan6 Internet Internet : le réseau des réseaux connecté via un réseau public (backbone) et communiquant à l'aide du protocole de communication TCP/IP Backbone initialement fourni par NSFNET, financés par le secteur privé (frais d'ISP) depuis 1995

7 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan7 Protocoles Internet Protocole de communication : Comment les ordinateurs parlent entreux Cfr protocole du téléphone: comment prendre ou terminer un appel; quelle langue parler, etc.. Protocoles Internet développés comme partie de la recherche de l'ARPANET ARPANET a commencé à l'aide de TCP/IP en 1982 Conçu pour une utilisation dans des réseaux locaux (LAN) et entre ceux-ci

8 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan8 Protocole Internet (IP) IP est le protocole fondamental définissant l'Internet (comme son nom l'indique!) Adresse IP : numéro de 32 bits (en IPv4) 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

9 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan9 IP Fonction IP : transférer des données du périphérique source vers le périphérique de destination Le logiciel de lIP source crée un paquet qui représente les données En-tête (Header ) : les adresses IP source et de destination, la longueur des données, etc.. Données elles-mêmes Si la destination est sur un autre réseau local, le paquet est envoyé vers une passerelle (Gateway ) qui se connecte à plusieurs réseaux

10 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan10 IP Source Gateway Network 1 Network 2 Destination Network 3

11 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan11 IP Source Gateway LAN 1 Internet Backbone Destination LAN 2

12 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan12 Protocole de Contrôle de la Transmission (TCP) Limitations du IP: Aucune garantie de livraison de paquets (paquets peuvent être abandonnés) La communication est à sens unique (source à la destination) TCP ajoute le concept d'une connexion sur le dessus de IP Garantit que les paquets soient livrés Assurer une communication bidirectionnelle (duplex intégral)

13 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan13 TCP SourceDestination Puis-je m'adresser à vous? OK. Puis-je m'adresser à vous? OK. Voici un paquet. Je lai eu. Voici un paquet. Voici un paquet renvoyé. Je lai eu. Etablir une connexion. { { { Envoyer des paquets avec accusé de réceptiont. Renvoyez les paquets si aucun accusé de réception (ou retardé).

14 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan14 TCP TCP ajoute également le concept d'un port 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 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

15 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan15 TCP

16 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan16 User Datagram Protocol (UDP)UDP Similaire au TCP car: Construit sur IP Fournit un concept de port Non-similaire au TCP car: Pas de concept de connexion Pas de garantie de transmission Avantage de UDP vs. TCP: Leger et donc rapide pour des messages uniques

17 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan17 Domain Name Service (DNS)DNS DNS est l« annuaire » pour l'Internet Mappage entre les noms d'hôte et adresses IP DNS utilise souvent le protocole UDP pour la communication Noms dhôte (host names) Étiquettes séparées par des points, p.ex. Létiquette finale est le domaine de premier niveaudomain Générique:.com,.org, etc. Code de pays:.us,.il, etc.

18 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan18 DNS Les domaines de 1 er niveau sont divisés en domaines de deuxième niveau, qui peuvent être encore divisés en sous-domaines, etc.. Dans unesco est un domaine de second niveau Un nom d'hôte et un nom de domaine sont appelées le nom de domaine complet de l'ordinateur P.ex. www est le nom dhôte, est le nom de domaine complet

19 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan19 DNS Le programme nslookup permet d'accéder en ligne de commande au DNS (sur la plupart des systèmes) Rechercher un nom d'hôte à partir dune adresse IP donnée est connue comme une recherche inversée Rappelons quun seul hôte peut avoir plusieurs adresses IP Ldresse retournée est ladresse IP canonique utilisée dans le système DNS

20 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan20 DNS ipconfig (sous windows) peut être utilisé pour trouver l'adresse IP de votre machine ipconfig /displaydns affiche le contenu du Cache de résolution DNS ( ipconfig /flushdns lefface)

21 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan21 Analogie au Réseau Téléphonique IP ~ réseau téléphonique TCP ~ appeler quelquun qui répond, avoir une conversation et racrocher UDP ~ appeler quelquun et laisser un message DNS ~ répertoire téléphonique

22 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan22 Protocoles de Haut Niveau De nombreux protocoles sont construits sur TCP 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 Quelques exemples: SMTP (courriel) (port 25) FTP (transfert de fichiers) (port 21) HTTP (transfert de documents Web) (port 80)

23 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan23 World Wide Web A l'origine, l'un de nombreux systèmes pour organiser l'information sur Internet Concurrence: WAIS (Wide Area Info System), Gopher, ARCHIE Particularité du Web : prise en charge de l'hypertexte (texte contenant des liens) Communication via le protocole de transport dhypertexte (HTTP) Représentation du document utilisant le langage de balisage Hypertexte (HTML)

24 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan24 World Wide Web 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. Les machines 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.

25 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan25 Hypertext Transport Protocol (HTTP) HTTP est basé sur le modèle de communication demande-réponse : le Client envoie une requête, le serveur envoie une réponse HTTP est un protocole sans état : le protocole n'exige pas du serveur de se rappeler quoi que ce soit sur le client entre les demandes.

26 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan26 HTTP Mise en œuvre normalement sur une connexion TCP (80 est le numéro de port standard pour HTTP) Interaction typique navigateur / serveur: Lutilisateur 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

27 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan27 HTTP Les informations transmises via le protocole HTTP sont souvent entièrement du texte On peut utiliser le protocole Telnet sur Internet pour simuler la demande du navigateur et découvrir la réponse du serveur

28 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan28 HTTP $ telnet 80 Trying Connected to ( ). Escape character is ^]. GET / HTTP/1.1 Host: HTTP/ OK Date: Thu, 09 Oct :30:49 GMT … { Envoyer Une requête { Recevoir une réponse Connecter {

29 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan29 Requête HTTP Structure de la requête: ligne de démarrage en-tête (un ou plusieurs champs) ligne vide Corps optionel

30 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan30 Requête HTTP Structure de la requête: Ligne de démarrage En-tête (un ou plusieurs champs) Ligne vide Corps optionel

31 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan31 Requête HTTP Ligne de démarrage Example: GET / HTTP/1.1 Trois parties séparées par des espaces: Méthode de requête HTTP URI (Uniform Resource Identifier) de la requête Version du HTTP

32 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan32 Requête HTTP Ligne de démarrage Example: GET / HTTP/1.1 Trois parties séparées par des espaces: Méthode de requête HTTP URI (Uniform Resource Identifier) de la requête HTTP version Nous couvrirons la version1.1 (lexemple donné)

33 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan33 Requête HTTP Ligne de démarrage Example: GET / HTTP/1.1 Trois parties séparées par des espaces: Méthode de requête HTTP URI de la requête Version HTTP

34 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan34 Requête HTTP URI (Uniform Resource Identifier) Syntaxe: schème : hostname Request-URI Ex: Dans on a: schème : http host name : request-URI : / Toute la chaine composée de ces 3 ingredients est appelée URI.

35 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan35 URI Il y a deux types de URI: URN (Uniform Resource Name) Peut être utilisé pour identifier des ressources avec des noms uniques, à lexemple des livres (qui ont un ISBN unique) Schème : urn URL (Uniform Resource Locator ) Spécifie l'emplacement où vous trouverez une ressource Schèmes: http, https, ftp, mailto, file

36 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan36 Requête HTTP Ligne de démarrage Example: GET / HTTP/1.1 Trois parties séparées par des espaces: Méthode de la requête HTTP URI (Uniform Resource Identifier) de la requête Version du HTTP

37 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan37 Requête HTTP Méthodes de requêtes usuelles: GET, POST, HEAD, OPTIONS, PUT, … GET Utilisée si vous cliquez sur le lien ou l'adresse est tapée dans le navigateur. Aucun corps dans la requête ! POST Utilisée quand vous cliquez sur le bouton soumettre dans un formulaire Linfo du formulaire contenue dans le corps de la requête HEAD Demande que les champs d'en-tête uniquement (pas de corps) soient retournées dans la réponse

38 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan38 Requête HTTP Structure dune requête: Ligne de démarrage Champs de len-tête Ligne vide Corps optionel

39 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan39 Requête HTTP Structure des champs de len-tête: field name : field value Syntaxe 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 (* )

40 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan40 MIME (Multipurpose Internet Mail Extensions) Convention pour spécifier le type de contenu d'un message En HTTP, généralement utilisée pour spécifier le type de contenu du corps de la réponse Syntaxe du type de contenu MIME: top-level type / subtype Exemples: text/html, image/jpeg

41 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan41 Valeurs de Qualité HTTP et Caractères Génériques 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 Une valeur de la qualité s'applique à tous les items la précédant Une valeur numérique élevée signifie une plus grande préférence Des caractères génériques spécifient la qualité 0.1 pour les MIMEs non spécifiées précédemment

42 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan42 Requête HTTP Champs den-tête usuels: 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 doctets dans le corps du message Referer : URL du document contenant le lien qui fourni des URI pour cette requête HTTP

43 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan43 Réponse HTTP Structure de la réponse: ligne de status champs den-tête ligne vide corps optionel

44 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan44 Réponse HTTP Structure de la réponse: Ligne de status champs den-tête ligne vide corps optionel

45 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan45 Réponse HTTP Ligne de status Exemple: HTTP/ OK Trois parties séparées par des espaces: version HTTP code de status raison (le code en clair!)

46 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan46 Réponse HTTP Code de status Nombre à 3 chiffres Le premier chiffre est la classe du code de status: 1=Informationel 2=Succès 3=Redirection (URL alternatif fournis) 4=Erreur du client 5=Erreur du serveur Les 2 autres chiffres fournissent de linfo additionnelle Voir

47 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan47 Réponse HTTP Structure de la réponse: Ligne de status champs den-tête ligne vide corps optionel

48 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan48 Réponse HTTP Champs usuels dans len-tête: 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)

49 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan49 Cache du Client Un cache est une copie locale des informations obtenues auprès d'autres sources 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 Ex: icône qui apparaît plusieurs fois dans une page Web

50 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan50 Cache du Client Browser Serveur Web 1. Requête HTTP pour une image 2. Réponse HTTP contenant limage Client Server Cache 3. Stocker limage

51 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan51 Cache du Client Browser Serveur Web Client Serveur Cache J'ai besoin de cette image à nouveau...

52 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan52 Cache du Client Browser Serveur Web Client Serveur Cache J'ai besoin de cette image à nouveau... Requête HTTP pour une image Réponse HTTP contenant limage Alternative 1 …

53 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan53 Cache du Client Browser Serveur Web Client Serveur Cache J'ai besoin de cette image à nouveau... Obtenir limage … ou Alternative 2

54 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan54 Cache du Client Les avantages du cache (Beaucoup) plus rapide que la demande/réponse HTTP Moins dutilisation du réseau Moins de charge sur le serveur Désavantage du cache La copie mise en cache de la ressource peut être non valide (incompatible avec la version originale)

55 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan55 Cache du Client Validation de la resource en cache: Envoyer un message HTTP HEAD demander et vérifier la dernière modification ou le ETag de len-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 na été envoyée, utilisez un algorithme heuristique pour estimer la valeur d'expiration

56 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan56 Ensemble de Caractères Chaque document est représenté par une chaîne de valeurs entières (points de code) Le mappage des points de code aux caractères est défini par un jeu de caractères (Character set ) Certains champs d'en-tête ont comme valeurs des jeux de caractères: Accept-Charset : champs den-tête de requête listant le jeu de caractères que le client peut reconnaître Ex: accept-charset: ISO ,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 Ex: Content-Type: text/html; charset=UTF-8

57 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan57 Ensemble de Caractères Techniquement, plusieurs « jeux de caractères » sont en fait des encodages de caractères Un encodage représente les points de code à l'aide de chaînes d'octets de longueur variable Les exemples les plus courants sont les encodages UTF-8 et UTF-16 basés sur Unicode IANA maintient une liste complète des jeux/encodages de caractères reconnus sur Internet

58 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan58 Ensemble de Caractères Un PC US ordinaire produit des documents ASCII Le jeu de caractères US-ASCII peut être utilisé pour des documents web, mais n'est pas recommandé UTF-8 et ISO sont des sur-ensembles d'US- ASCII et assurent la compatibilité internationale 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 est un code à 1 octet possédant de nombreux caractères communs en Europe occidentale, comme é

59 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan59 Clients Web Beaucoup de clients web possibles: "browser" à texte seulement (lynx) Téléphones mobiles Robots (clients logiciel uniquement, par exemple, « robots » des moteurs de recherche) etc. Nous nous concentrerons sur les navigateurs web traditionnels

60 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan60 Navigateurs Web Premier navigateur graphique fonctionnant sur des plates-formes à usage général : mosaïque (1993)

61 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan61 Navigateurs Web

62 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan62 Navigateurs Web Tâches principales: 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

63 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan63 URL de HTTP Le navigateur utilise une autorité pour se connecter via TCP Request-URI inclu dans la ligne de départ (/ utilisé pour le chemin d'accès si aucun nest fourni) Lidentificateur de fragment nest pas envoyé au serveur (utilisé seulement pour faire défiler la zone client du navigateur) host port authority path queryfragment Request-URI

64 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan64 Navigateurs Web Fonctionalité standard Enregistrer la page web sur le disque Rechercher 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

65 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan65 Navigateurs Web Fonctionalité additionnelle: 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

66 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan66 Serveurs Web Fonctionalité de base: 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 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 linformation sur la demande et la réponse

67 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan67 Serveurs Web: Exemples httpd : UIUC, le principal serveur Web utilisé vers 1995 Apache: version de httpd, maintenant le serveur les plus populaire (en particulier sur les plates-formes Linux) IIS: Microsoft Internet Information Server Tomcat: Tomcat 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

68 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan68 Serveurs Web Certains paramètres de communication de Coyote: 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 Possibilité de modifier les paramètres pour régler les performances du serveur

69 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan69 Serveurs Web Certains paramètres du conteneur Catalina: 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

70 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan70 Serveur Web Tomcat Administration du serveur basé sur le HTML Recherchez et cliquez sur le lien Server Administration localhost est un nom d'hôte spécial qui signifie « cette machine »

71 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan71 Serveur Web Tomcat

72 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan72 Serveur Web Tomcat

73 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan73 Serveur Web Tomcat

74 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan74 Serveur Web Tomcat Quelques champs du Connecteur: 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

75 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan75 Serveur Web Tomcat

76 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan76 Serveur Web Tomcat Chaque hôte est un hôte virtuel (on peut en avoir plusieurs par connecteur) Quelques champs: 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

77 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan77 Serveur Web Tomcat

78 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan78 Serveur Web Tomcat Le contexte fournit le mappage du chemin d'accès de lURI de la requête à une application web Le champs Document Base est un répertoire (éventuellement par rapport à Application Base) qui contient les ressources pour cette application web Pour cet exemple, en accédant à on retourne une ressource de c:\jwsdp-1.3\webapps\ROOT Retourne index.html (fichier de bienvenue standard)

79 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan79 Serveur Web Tomcat Un journal daccès enregistre les requêtes HTTP Les paramètres définis à l'aide de AccessLogValve L'emplacement par défaut : journaux/access_log.* sous le répertoire d'installation de JWSDP (Java Web Service Developer Pack ) Exemple dentrée dans le journal (une ligne: - admin [20/Jul/2005:08:03: ] "GET /admin/frameset.jsp HTTP/1.1"

80 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan80 Serveur Web Tomcat Autres journaux fournis par défaut dans JWSDP: Message journalise les messages envoyés au service de journalisation par les applications web ou par Tomcat lui-même 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): logs/launcher.server.log

81 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan81 Serveur Web Tomcat Contrôle daccès: Protection par mot de passe (p.ex. Pages admin) Utilisateurs et rôles définis dans conf/tomcat-users.xml 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 Liste des ordinateurs refusés placée dans RemoteHostValve (refuser de nom d'hôte) ou RemoteAddressValve (nier par adresse IP)

82 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan82 Serveurs Sécurisés É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 Le schème d'URL https indique au navigateur d'utiliser le cryptage Encryptages standards usuels: Secure Socket Layer (SSL) Transport Layer Security (TLS)TLS

83 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan83 Serveurs Sécurisés Browser Serveur Web Je tiens à vous parler en sécurité (sur le port 443) Voici mes données de certificats et de chiffrement Voici une requête HTTP chiffrée Voici une réponse HTTP chiffrée Voici une demande HTTP chiffré Voici une réponse HTTP chiffrée TLS/ SSL Requêtes HTTP Réponses HTTP Requêtes HTTP Réponses HTTP

84 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan84 Serveurs Sécurisés: Man-in-the-Middle Attack Browser Fake DNS Server Whats IP address for Fake Real My credit card number is…

85 CSI 3540 : I. Kiringa : notes basées sur J.C. Jackson et G.V. Jourdan85 Serveurs Sécurisés: Empêcher le Man-in-the-Middle Browser Fake DNS Server Whats IP address for Fake Real Send me a certificate of identity


Télécharger ppt "Assises du Web: Clients, Serveurs et Communication CSI 3540 STRUCTURES ET NORMES DU WEB."

Présentations similaires


Annonces Google