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

IFT 6800 Atelier en Technologies d’information

Présentations similaires


Présentation au sujet: "IFT 6800 Atelier en Technologies d’information"— Transcription de la présentation:

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é :


Télécharger ppt "IFT 6800 Atelier en Technologies d’information"

Présentations similaires


Annonces Google