Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
Publié parCorneille Moret Modifié depuis plus de 10 années
1
IFT 6800 Atelier en Technologies d’information
Chapitre 4 Technologies Internet
2
Plan du cours 1. Introduction
2. Composantes matérielles d’un ordinateur 3. Systèmes d'exploitation (exemple Unix) et Base de données 4. Technologies Internet 5. Introduction à la programmation Internet 6. Introduction à Java script 7. Java
3
Internet (2) Permet de faire "parler" deux ordinateurs différents.
Communication passe par divers moyens. Gérer le réseau entre les deux ordinateurs - Choix du chemin (routage: liste des nœuds à emprunter) - Gestion des pertes de message - Reconfiguration du réseau
4
Internet : Infrastructure de Communication
Protocoles de communication TCP/IP, UDP/IP Accès aux protocoles BSD sockets, TLI, Sockets Streams Pour désigner un partenaire : numéro IP, numéro de port (socket) Notions de services / protocoles
5
Internet / Services Besoin de services standards
- Service de nom (DNS: Domain Name System) * - Service d'heure (horloge parlante) - Service de transfert de fichier (FTP) - Service de transfert de message: (SMTP) De nombreux autres services
6
Pages Web (1) Chaque page est définie par une adresse (URL)
Inventé au CERN (Genève) Service Internet - Permet le transfert de pages d'hyper-texte - Informations hypermédia: * texte, des images, des sons, des animations * des liens vers d'autres pages. Chaque page est définie par une adresse (URL) Protocole de Transfert de pages (HTTP) HyperText Transport Protocol Langage de Description de page HyperText Markup Langage
7
Uniform Resource Locator
Permet d’identifier la localisation d’une ressource Internet Forme URL même principe qu'une adresse postale - < Protocole >: //< machine > [: port] < nom-fichier>
8
HyperText Transfer Protocol
Un des protocoles de communication sur le Web Basé sur le paradigme de requête/réponse. Utilise des connexions TCP/IP (Transmission Control Protocol : service fiable de livraison des flux d’octets) pour transférer les données. Principe: - Connexion - Requête du client - Réponse du serveur - Déconnexion
9
HyperText Markup Lyanguage (1)
Décrit le format d'un documents Web Hypertext - Les documents ne sont plus séparées mais reliés les uns aux autres: on peut se déplacer d’un document vers un autre en suivant des liens. Markup - C’est un texte contenant des balises qui conditionnent l’aspect physiques aux textes. Ex: <strong>Gras</strong> Gras Plusieurs versions - dont la plus récente HTML intégration des scripts, applets, frame, etc.
10
WEB, Comment ça marche? Client - Une plate forme
- Du logiciel: Navigateur/browser - Une connexion au réseau. Serveur - Une plate-forme: ordinateur - Du logiciel: deamon http Appache par exemple - De l'information
11
WEB, Comment ça marche ? Exemple pas à pas :
étape I: En attente d'une requête
12
WEB, Comment ça marche ? Exemple pas à pas :
étape II: Émission d'une requête par un client
13
WEB, Comment ça marche ? étape III: Analyse de la requête par le serveur Le serveur déchiffre la requête et détermine les actions à réaliser (GET, recherche index.html,…) étape IV: Lecture des autres informations sur le réseau (Si besoin) : par exemple le type du navigateur, … étape V: Exécution de la méthode demandée Pour exécuter GET, httpd recherche dans ces documents (système de gestion des fichiers) étape VI: Acte final: fermeture du fichier, fermeture de la connexion réseau. étape VII: Retour à l’étape I.
14
Le Mail Service de Messagerie Adresse e-mail
- Permet d'envoyer des messages (texte). - Permet de joindre toute sorte de fichiers (attachement). Adresse iro.umontreal.ca Nom d’utilisateur Nom du Serveur
15
Newsgroup Groupe de discussion informatique.
- Groupes locaux / mondiaux. - On peut poster des questions / réponses. Très utile pour trouver des informations Chaque groupe est dédié a un sujet précis. - news://comp.lang.postscript * Ordinateurs (comp) * Langages (lang) * Postscript Type du groupe
16
Intégration Web , newsgroup et d’autres protocoles sont aujourd'hui intégrés dans le web - Messages des Newsgroup accessibles par des pages web. - Possible de lire son mail par des pages web. Aujourd'hui on désigne sous le nom de Web l'ensemble: - Pages web - Newsgroup - Services de mail
17
Philosophie WEB
18
Le Web : une idée de départ
Réseau de ressources d’information Clients de consultation Navigateur, browser... Netscape Communicator, Microsof Internet Explorer Serveurs de documents HTTP, démon HTTP, Serveur Web Apache ( Microsoft IIS, Netscape, Cern => Consultation de documents
19
Les acteurs du web Cern : ? Ncsa : ?
W3c : MIT + INRIA + Université de Keio Unifie les développements, Propose les standards IETF : crée des standards Netscape, Microsoft, IBM, Sun… Standard de faits (frames, cookies, plug-ins ’s…) Marc Anderseen + Jim Clarck
20
Les documents ou ressources
Documents structurés La description se fait par l’apparence (sémantique) Les browsers interprètent la structure Une page n’est pas un fichier Ressource Hypertexte de composition Hypertexte de consultation Relations de référence entre les ressources
21
Retrait et distribution d’information
Fonctionnalités essentielles du Web L’unité de retrait n’est pas la page mais la ressource Les documents sont désignés par des URL Les documents sont typés A priori pas de contrôle d’accès (diffusion)
22
Exécutions sur le serveur
Mécanisme : CGI (Common Gateway Interface) Des ressources particulières déclenchent l’exécution d’un programme sur le serveur Le document qui correspond à la requête est le flux standard de sortie de ce programme Possibilité de passer des paramètres Exemple : le Web applicatif !
23
Exécution sur les clients
Les langages Web JavaScript, Jscript Les langages d’animation Flash, VRML... Les langages de programmation Java tcl/tk (safe_tcl), Caml, Python, Perl,
24
WEB : Architecture documentaire
25
Architecture WEB Les standards
26
Pourquoi faire des standards ?
Standardiser les formats des documents : Comment présenter une ressource : MIME Identifier de manière unique les documents Comment identifier une ressource : URL Standardiser les échanges Comment récupérer une ressource : HTTP Comment décrire une ressource Description interne : ML Description des relations entre ressources HT Memex Vanovar Bush 1945
27
Identification des ressources URI/URL
(rfc 1738 : 1994) méthode://machine:port/fichier[#ancre | ?paramètres] nom de la machine liste des paramètres (requêtes) méthode protoc. d'accès à la ressource file ress. locale ftp FTP http HTTP telnet TELNET gopher GOPHER wais WAIS news NNTP 80 par défaut <1023 root 1023 < x < user nom du pointeur ds le doc. HTML news:comp.os.research Chemin d'accès (relat. ou absol.)
28
HTTP HyperText Transfer Protocol
1/0 rfc 1945 ( ) : Internet Informal Tim Berners-Lee, Roy T. Fielding, Henry Frystyk 1/1 rfc 2068 ( ) : Internet Proposed Standard Fielding, Getty, Mogul, Frystyk, Berners-Lee Connexions persistantes Protocole de type Remote Procedure Call sur TCP Connexion Requête du client Réponse du serveur Déconnexion
29
HTTP : les acteurs Clients : émet la requête
browser, aspirateurs, indexeur, proxy... Serveurs : renvoie la réponse (interprète la req.) Proxys : Joue le rôle de serveur pour un client et de client pour un serveur. Cache les ressources Gateway : Idem que proxy mais invisible pour le client Tunnel : intermédiaire entre un client et un serveur
30
HTTP : Les requêtes Format d’une requête
<Méthode><Chemin><Version_http> [<Champ_optionnel>: <Valeur>] Méthodes GET, HEAD, POST, PUT Champs optionnels User-Agent, If-Modified-Since, Authorization=XXX
31
HTTP Les réponses Format d’une réponse
<Version_HTTP><Code_Réponse><Texte> Content-Type: <Type_MIME> [<Champ_optionnel>: <Valeur>] <Document> Code réponse : Informatif : 100 Continue : Requête client réussie : 200 OK, 201 Created : Requête client redirigée : 301 Moved Permanently, 302 Temporary : Erreur client : 400 Bad, 401 Unauthorized, 403 forbidden, 404 not found : Erreur du serveur : 500 Internal Server Error, 501 not implemented
32
HTTP Texte libre : description en anglais du code de réponse
Champs optionnels du serveur Date de la requête : date Date de modification : Last-Modified Identification du serveur : Server Taille du document : Content-Length HTTP/1.1 Connexion « Keep-Alive » Gestion fine des caches Web Négociation du contenu Virtual Hosts
33
Exemple HTTP telnet lisiaix0 80 >GET /index.html HTTP/1.0
>User-Agent: libwww/2.12 > => HTTP/ OK => Date: Fri, 11 Feb :30:27 GMT => Server: Apache/1.2.4 => Content-Length: 381 => Content-Type: text/html => => <HTML> => <BODY> => Bonjour tout le monde .... => </BODY> => </HTML>
34
Les Protocoles
35
Protocoles : une approche technique
C. Application C. Présentation C. Session C. Transport C. Réseau C. Liaison de données C. Physique Applications ftp telnet http gopher pop3 Transport tcp udp Réseau icmp ip igmp Liaison Interface physique arp rarp
36
Protocoles Client Serveur Requête Réponse Simple Publique Portable
37
Caractéristiques d’un protocole
Nom : Simple Mail Transfert Protocol Rfc : 1830, 1845, 1846 Mode de fonctionnement : Connecté Port de connexion : 25 Commande / Requêtes : EXPN, QUIT, HELO... Client : Eudora Serveur : Sendmail
38
Protocoles : Exemples
39
Fonctionement d’un serveur
Démon C1 Attendre l’arrivée d’une requête émise par un client C2 Démarrer un nouveau serveur traitant la requête client C3 Retour à C1 Principe de lancement Manuel Inetd StandAlone
40
Exemple de connexion telnet ifhpserv 25 EXPN stephane.frenot
=>220 ifhpserv.insa-lyon.fr ESMTP Sendmail 8.7.1/8.6.9 ready at Sun, 11 Oct :52: (METDST) EXPN stephane.frenot =>250 Stephane FRENOT
41
Travail H->M : Communication MM
Protocoles de routage Nommage de machines DNS Transparence du réseau NFS, NIS Synchronisation XNTP Supervision SNMP
42
Travail H->M : Prise de contrôle à distance
Exécution de commandes sur une machine distante Serveur de calculs Imprimantes réseau Utilisation de plusieurs machines depuis une console La seule application Internet Fonctionne sur tous les systèmes Client et serveur intégrés dans le même système Une socket TCP (port 23) Utilisé pour dialoguer à la main avec les serveurs Les remote commands (rpc) rsh, rexec, rlogin... Les émulations graphiques X11 / Citrix Raconter l ’histoire de citrix Expliquer le serveur X
43
Communication Inter - Personnes (1/3)
Mail - Identification du destinataire – 25 Communication Personne à Personne (1/1) Eudora, Netscape, elm, pine, Mail, mush... Communication Personne à Personnes (1/n) listserv, sympa… Utilisation d’une infrastructure dédiée MX, serveurs POP/IMAP, démons sendmail Communication au sens d’échange d ’information / de point de vus...
44
Communication Inter - Personnes (2/3)
News (Usenet) - Identification de groupe – 119 Communication de groupe (newsgroup) Classification par sujets (threads de discussion) Serveurs de news qui s’échangent les groups / threads Base de news mondialement répartie Souplesse de configuration
45
Communication Inter - Personnes (3/3)
Communication directe IRC - (Internet Relay Chat) Similaire aux news mais dialogue direct Création dynamique de groupes Utilisation de serveurs IRC communicant entre-eux ICQ #icq Problème de gestion du volume d’information / délai
46
Diffusion d’information - récupération - (1/3)
FTP (File Transfert Protocol) Connexion client serveur Commandes simples sur la machine distante et transfert de fichiers (dans les 2 sens) Contrôle d’accès par username/password Serveurs ftp anonymes Gopher Interface graphique minimaliste Notion de hiérarchie de répertoires inter-reliés Feuille = document recherché
47
Diffusion d’information - indexation - (2/3)
Archie Base de données de logiciels Moteurs d’indexation de sites ftp anonymes WAIS (Wide Area Information Service) Bases de données distribuées de recherche documentaire Standard Z39.50 standard (Information Retrieval Service Definition and Protocol Specification for Library Applications)
48
Diffusion d’information - diffusion - (3/3)
Orientée utilisateur WEB Portails (Voila, Yahoo, Netscape…) Orientée fournisseur Mailing lists Push
49
Le client Universel Client de consultation conforme à tous les protocoles de communication HH Émulation des serveurs avec le protocole du Web Browser ==> Deux approches : WEB / CLIENT UNIVERSEL
50
Les intermédiaires
51
Pourquoi des intermédiaires
Approche par les flux. Comment améliorer le flux ? Sécurité Cryptage C/S Vitesse Caches Vitesse + Sécurité ?
52
Sécuriser le flux Man in the Middle :
Intermédiaire qui simule le serveur Web (ie Proxy) Eavesdropping : Sniffer (protège l’accès aux ressources) ==> Sécuriser la connexion 1) Soit sécuriser le transport (HTTPS) 2) Soit sécuriser les applications (S-HTTP)
53
SSL : Sécure Socket Layer
https HTTP FTP Telnet Autres Stack IP SSL TCP/IP
54
SSL : moyens Communication sécurisé sur média non sécurisé
Protection de la connexion Handshake initial pour définir le codage Cryptage symétrique Authentification optionnelle L’entité pair peut s’authentifier en utilisant un cryptage asymétrique (Clé public/privée) Sécurisation des échanges Authentification du message échangé (MAC) Message Authentication Code
55
Cryptage SSL (HTTPS) Encodage sur une clé unique connue du client et du serveur Le client génère aléatoirement un nombre Puis le transfère de manière cryptée au serveur Celui-ci encode les messages à l'aide de ce nombre ==> mais … (DrDobb’s 01/96)
56
FireWall FireWall : Pare-Feu Filtrage des paquets
Table de filtrage des ports de connexion Inbound HTTP Outbound HTTP Inbound telnet telnet.interne.com Sinon interdit Tunneling Protocol Encodage d'une session Réseaux privés virtuels
57
Caches Optimisation des flux Client Serveur Client Serveur Client
58
Proxy Cache des documents transférés Cache mémoire sur le client
Cache disque sur le client Serveur Cache local Serveurs Cache nationaux Fonctions Disponibilité, Maintenabilité Pre-caching Baisse de la charge Difficulté :?
59
Gestion du cache État d’un document du cache : fresh / stale
Notion de lifetime (unlimited = fresh, 0=stale) Politique de gestion de l’expiration Orientée Serveur : entête http (Expires, Cache-Control) Heuristique : Dernière Modification Validation des ages / Expiration pour le client Durée des transits Conversions fuseaux horaires… Quels documents expulser du cache ?
60
Serveur Proxy proxy.univ-lyon1.fr 3128
function FindProxyForURL(url, host) { if (isPlainHostName(host)) return "DIRECT"; if ( dnsDomainIs( host,"univ-lyon1.fr")|| dnsDomainIs(host,"cpe.fr") || dnsDomainIs(host,"enssib.fr") || dnsDomainIs(host,"cermep.fr") || dnsDomainIs(host,"dr7.cnrs.fr") || dnsDomainIs(host," || dnsDomainIs(host,"insa-lyon.fr")) return "DIRECT"; if (url.substring(0, 5) == " ||url.substring(0, 7) == "gopher:") return "PROXY proxy.univ-lyon1.fr:3128; DIRECT"; if (url.substring(0, 5) == "wais:") return "PROXY web.univ-lyon2.fr:8001"; else return "DIRECT"; }
61
Caches Coopérations de caches Hiérarchies (parent)
Transmission au parent si on n’a pas le document Récupération dans le cache fils Coopération d’égal à égal Requête au voisin si on a pas le document Caches Web Cache commerciaux … Cache gratuits : Squid :
62
Miroirs (Aspirateurs)
But : Accélerer les accès aux sites les plus demandés Diminuer le trafic global de l’Internet Moyen : copie des sites stratégiques sur différents endroits Logiciel mirroir = robot qui browse le Web automatiquement Racine + Règles d’arrêt de la récursion Extraction des <A…>….</A> webcopy, wget, w3mir
63
Architectures
64
Anneaux de diffusion Interconnexion de sites Web
Mettre en commun des utilisateurs sur un sujet Définir des sous-réseau logiques d'information Site central qui diffuse les entêtes des documents Diffusion aux abonnés d'un cgi à insérer dans les documents
65
? Qu’est ce qu’un serveur ?
66
Configuration d’un serveur Web
67
Apache : configuration
src configuration mime.types http.conf srm.conf access.conf logs http.pid error.log acces.log icons support
68
Apache : httpd.conf ServeurType standalone Port 80 User nobody
Group Web ServerAdmin ServerRoot /opt/apache_1.2.4 Timeout 300 KeepAlive on MaxKeepAliveRequests 100 KeepAliveTimeout 15 MinSpareServers 5 MaxSpareServers 10 StartServers 5 MaxClients 150 MaxRequestsPerChild 30 HostnameLookups on BrowserMatch Mozilla/2 nokeepalive
69
Apache : srm.conf Aspect du serveur pour les clients
DocumentRoot /www/insa UserDir public_html DirectoryIndex index.html FancyIndexing on AddIcons /icons/back.gif .. AccessFileName .htaccess DefaultType text/plain Alias /icons/ /opt/apache_1.2.4/icons/ ScriptAlias /cgi-bin/ /opt/apache_1.2.4/cgi-bin/ AddHandler cgi-script .cgi
70
Apache access.conf <directory /www/insa/theme.siam> #none, all,
options Indexes FollowSymLinks ExecCGI AllowOverride None order allow, deny allow from all </directory> <Location /server-status> SetHandler server-status order deny, allow deny from all allow from .insa-lyon.fr, .univ-lyon1.fr </location>
71
Apache : Logs httpd.pid : N° process du père error.log :
date, ressource accédée, client, raison [Mon Feb 9 12:16: ] access to /www/insa/theme.siam/frame/Bandeau.gif failed for pc insa-lyon.fr, reason: File does not exist access.log client, date, méthode utilisée, réponse, taille réponse wormhole.ctp.com [13/Feb/1998:20:00: ] "GET /~sfrenot/ HTTP/1.0" Virtual Host, IP Virtual Host et Non IP Virtual Host Utilisateur
72
Biblio Wilde’s WWW : « Technical Foundation of the World Wide Web » : Erik Wilde, Springer-Verlag, 1999 WebMaster in a Nutshell, O ’Reilly, 1997 ==> Quick Guide … W3C : WebTech : WebCompare : Parts de Marché :
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.