IFT 6800 Atelier en Technologies d’information

Slides:



Advertisements
Présentations similaires
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
Advertisements

ARCHITECTURE WEB – COURS I
Masters IIGLI et ILGII – Intranet internet extranet – – Claude Montacié 1 Cours n° 8 Langage HTML.
1re STG INTERNET Patrick DUPRE.
1re STG COMMUNICATION ET RESEAU INFORMATIQUE
Les réseaux et Internet : Fonctionnement et utilisation
Présentation de l’Internet
ACCES AUX RESSOURCES RESEAU INTERNET
Une solution personnalisable et extensible
Internet.
- Couche 4 - Couche transport. Sommaire 1) Caractéristiques de la couche transport 2) Les protocoles TCP & UDP 3) Méthode de connexion TCP.
- Couche 7 - Couche application. Sommaire 1)Introduction 1)DNS 1)FTP et TFTP 1)HTTP 1)SNMP 1)SMTP 1)Telnet.
Exposé de Système - Informatique et Réseau
Université de Picardie
TRANSFER Alger – Présentation dInternet Nicolas Larrousse Septembre Introduction Pourquoi connecter des machines entre elles ? Quest ce quun réseau.
APACHE HTTP SERVER Formation TRANSFER ALGER Mai 2002.
TRANSFER Alger – Serveur Web Nicolas Larrousse Septembre Petit historique du Worl Wide Web Notion dHypertexte Extension à internet par Tim Berners.
Architecture de réseaux
HTML Les types de balises
Programmation Internet et Intranet
Cours d'administration Web - juin Copyright© Pascal AUBRY - IFSIC - Université de Rennes 1 Mandataires, caches et filtres Pascal AUBRY IFSIC - Université
Plan de formation Chapitre 1 : Présentation de SAP
FLSI602 Génie Informatique et Réseaux
FIN. Lycée Général et Technologique Simone de BEAUVOIR Quest-ce quInternet? On compare souvent Internet à une « autoroute » FIN.
Révision Avant lintra – Architecture de lordinateur, les composants, le fonctionnement, codage – Système dexploitation: organisation des données (fichier),
Common Gateway Interface
Le Téléphone Russe Le Téléphone Russe. Le Téléphone Russe Le Téléphone Russe.
SECURITE DU SYSTEME D’INFORMATION (SSI)
XML-Family Web Services Description Language W.S.D.L.
Lycée Général et Technologique du Rempart - Marseille.
1 Sécurité Informatique : Proxy Présenter par : Mounir GRARI.
Analyse des protocoles de la couche application
Lycée Louis Vincent Séance 1
INTRANET au service du système d’information
Le protocole FTP.
Les relations clients - serveurs
Gestion des bases de données
Internet : la mémoire courte ? Capture de sites Web en ligne Conférence B.N.F, Avril 2004 Xavier Roche(HTTrack)
1. SITE WEB DU SERVICE INFORMATIQUE DU RECTORAT
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Web sémantique : Web de demain
PhP-MySQL Pagora 2012/2013 CTD 1 - Presentation de moi ^^
Service Informatique du Rectorat
Document élaboré à Centrale Paris par Pascal Morenton LES TECHNOLOGIES DU WEB 1. LES PHASES D UN DEPLOIEMENT DE RESEAUX 2. LE LANGAGE HTML 3. LE LANGAGE.
1 Micro Informatique au Cellier Joseph HOHN vidéogramme séance 3 du 29 février 2012 deuxième partie principe de fonctionnement de lInternet.
Initiation au web dynamique
Commutation de niveau 5 Guillaume CASSIN Charles DESMOULINS 24 Mars 2001.
Vue d'ensemble Configuration d'adresses IP
Introduction.
Internet et le client- serveur Licence Pro IE Cours Internet / Intranet Le Web HTML Protocoles Le client universel Contenus dynamiques.
1 Architecture orientée service SOA Architecture orientée service SOA (Service Oriented Architecture)
Travail de diplôme José Garrido Professeur : Philippe Freddi Explorer Internet en toute sécurité Surf Safe SPY INTERNET.
Internet WEB.
1 F o r m a t i o n A R S World Wide Web (WWW). 2 F o r m a t i o n A R S Contributions m Création: Claude Gross (UREC) m Modifications: Bernard Tuy,
0 Objectifs de la session n°1  Revenir sur toutes les bases théoriques nécessaires pour devenir un développeur Web,  Découvrir l’ensemble des langages.
Les réseaux - Internet Historique Réseau local Internet Les protocoles
Cours de programmation web
Deug 11 Systèmes d ’Information : 4b Michel de Rougemont Université Paris II Protocoles Réseaux.
http 1.1.  connexion persistante Browser Mozilla Firefox Adresse ip.
Campus-Booster ID : **XXXXX Copyright © SUPINFO. All rights reserved Le développement Web.
INTERNET heg eid Avril-juin 2001 A.Rezzonico.
Développement d’application Web.  Internet  WWW  Client/Serveur  HTTP.
INTERNET Le langage HTML
I Je manipule les fichiers 1) Un fichier est identifié par un nom, une extension, une date de création ou de modification, et sa taille en octet. Windows.
Initiation au JavaScript
3.3 Communication et réseaux informatiques
V- Identification des ordinateurs sur le réseau
Fonctionnalité et protocole des couches applicatives
CPI/BTS 2 Programmation Web Les sites dynamiques Prog Web CPI/BTS2 – M. Dravet – 02/10/2003 Dernière modification: 02/10/2003.
APP-TSWD Apprentissage Par Problèmes Techniques des Sites Web Dynamiques Licence Professionnelle FNEPI Valérie Bellynck, Benjamin Brichet-Billet, Mazen.
Transcription de la présentation:

IFT 6800 Atelier en Technologies d’information Chapitre 4 Technologies Internet

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

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

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

Internet / Services Besoin de services standards - Service de nom (DNS: Domain Name System) * www.machin.com 129.175.45.33 - Service d'heure (horloge parlante) - Service de transfert de fichier (FTP) - Service de transfert de message: e-mail (SMTP)  De nombreux autres services

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

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> Http://www-unifr.ch/~chabbi/index.html

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

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-4.0.1 intégration des scripts, applets, frame, etc.

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

WEB, Comment ça marche ? Exemple pas à pas : étape I: En attente d'une requête

WEB, Comment ça marche ? Exemple pas à pas : étape II: Émission d'une requête par un client

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.

Le Mail Service de Messagerie Adresse e-mail - Permet d'envoyer des messages (texte). - Permet de joindre toute sorte de fichiers (attachement). Adresse e-mail Serhanim @ iro.umontreal.ca Nom d’utilisateur Nom du Serveur

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

Intégration Web E-mail, 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

Philosophie WEB

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 (www.apache.org), Microsoft IIS, Netscape, Cern => Consultation de documents

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

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

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)

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 !

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,

WEB : Architecture documentaire

Architecture WEB Les standards

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

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 < 65537 user nom du pointeur ds le doc. HTML Mailto:stephf@lisiflory news:comp.os.research Chemin d'accès (relat. ou absol.)

HTTP HyperText Transfer Protocol 1/0 rfc 1945 (05 1996) : Internet Informal Tim Berners-Lee, Roy T. Fielding, Henry Frystyk 1/1 rfc 2068 (01 1997) : 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

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

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

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 100 - 199 : Informatif : 100 Continue 200 - 299 : Requête client réussie : 200 OK, 201 Created 300 - 399 : Requête client redirigée : 301 Moved Permanently, 302 Temporary 400 - 499 : Erreur client : 400 Bad, 401 Unauthorized, 403 forbidden, 404 not found 500 - 599 : Erreur du serveur : 500 Internal Server Error, 501 not implemented

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

Exemple HTTP telnet lisiaix0 80 >GET /index.html HTTP/1.0 >User-Agent: libwww/2.12 > => HTTP/1.1 200 OK => Date: Fri, 11 Feb 1998 18:30:27 GMT => Server: Apache/1.2.4 => Content-Length: 381 => Content-Type: text/html => => <HTML> => <BODY> => Bonjour tout le monde .... => </BODY> => </HTML>

Les Protocoles

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

Protocoles Client Serveur Requête Réponse Simple Publique Portable

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

Protocoles : Exemples

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

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 1998 13:52:07 +0200 (METDST) EXPN stephane.frenot =>250 Stephane FRENOT stephf@lisiflory.insa-lyon.fr

Travail H->M : Communication MM Protocoles de routage Nommage de machines DNS Transparence du réseau NFS, NIS Synchronisation XNTP Supervision SNMP

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

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...

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

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

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é

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)

Diffusion d’information - diffusion - (3/3) Orientée utilisateur WEB Portails (Voila, Yahoo, Netscape…) Orientée fournisseur Mailing lists Push

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

Les intermédiaires

Pourquoi des intermédiaires Approche par les flux. Comment améliorer le flux ? Sécurité Cryptage C/S Vitesse Caches Vitesse + Sécurité ?

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)

SSL : Sécure Socket Layer https HTTP FTP Telnet Autres Stack IP SSL TCP/IP

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

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)

FireWall FireWall : Pare-Feu Filtrage des paquets Table de filtrage des ports de connexion Inbound HTTP www.interne.com Outbound HTTP www.externe.com Inbound telnet telnet.interne.com Sinon interdit Tunneling Protocol Encodage d'une session Réseaux privés virtuels

Caches Optimisation des flux Client Serveur Client Serveur Client

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

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 ?

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,"www.dsi.cnrs.fr") || dnsDomainIs(host,"insa-lyon.fr")) return "DIRECT"; if (url.substring(0, 5) == "http:" ||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"; }

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 http://www.serveurs-nationaux.jussieu.fr/cache Coopération d’égal à égal Requête au voisin si on a pas le document Caches Web Cache commerciaux … Cache gratuits : Squid : http://squid.nlanr.net/Squid

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

Architectures

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

? Qu’est ce qu’un serveur ?

Configuration d’un serveur Web

Apache : configuration src configuration mime.types http.conf srm.conf access.conf logs http.pid error.log acces.log icons support

Apache : httpd.conf ServeurType standalone Port 80 User nobody Group Web ServerAdmin webmaster@machine 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

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

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>

Apache : Logs httpd.pid : N° process du père error.log : date, ressource accédée, client, raison [Mon Feb 9 12:16:05 1998] access to /www/insa/theme.siam/frame/Bandeau.gif failed for pc401-50.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:56 +0100] "GET /~sfrenot/ HTTP/1.0" 200 4726 Virtual Host, IP Virtual Host et Non IP Virtual Host Utilisateur

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 : http://www.w3c.com WebTech : http://webtools.dyade.fr:8888/WebTech WebCompare : http://webcompare.iworld.com Parts de Marché : http://www.netcraft.co.uk/Survey