420-283 Programmation d`un serveur Session H-2008
Transcription
420-283 Programmation d`un serveur Session H-2008
420-283 Programmation d'un serveur Session H-2008 1. Une station cliente Client HTTP Encodage SSL Client FTP Client SMTP Client POP Client NNTP HyperText Transfer Protocol Le client HTTP permet la réception et l'affichage sur la station de travail de pages codées en HTML (HyperText Markup Language) et stockées sur un serveur HTTP, d'objets référencés par ces pages (sons, images, documents, etc.) ainsi que l'interprétation des scripts imbriqués dans ces pages. Secure Socket Layer L'encodage SSL permet le transfert sécurisé d'informations dans des pages utilisant des sockets HTTPS où les informations sont encryptées. File Transfer Protocol Le client FTP permet le transfert de fichiers entre un serveur FTP et la station de travail. Simple Mail Transfer Protocol La communication avec un serveur SMTP permet l'envoi de messages de courriel. Post Office Protocol La communication avec un serveur POP permet la réception de messages stockés dans une boîte à malle située sur le serveur POP. Network News Transfer Protocol Le client NNTP permet la réception et l'affichage sur la station de travail de banques de messages («news») stockés dans un babillard (serveur NNTP). 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-2 2. Un serveur IIS Serveur HTTP Encodage SSL/TSL Serveur FTP Serveur SMTP Serveur NNTP HyperText Transfer Protocol Le serveur HTTP permet la transmission vers des stations de travail clientes de pages codées en HTML ainsi que d'autres objets (images, sons, documents, etc.). Secure Socket Layer L'encodage SSL permet le transfert sécurisé d'informations dans des pages utilisant des sockets HTTPS où les informations sont encryptées. File Transfer Protocol Le serveur FTP permet le transfert de fichiers entre un serveur FTP et la station de travail ainsi que le contrôle des utilisateurs y ayant droit. Simple Mail Transfer Protocol Le serveur SMTP de IIS ne vise pas l'envoi de messages de courriel par une station cliente, mais bien l'expédition de messages par les applications et les scripts s'exécutant sur le serveur. Network News Transfer Protocol Le serveur NNTP permet le stockage et la transmission vers des stations de travail clientes de messages («news»). 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-3 Extensions FrontPage Scripts serveurs ASP/ASPX FrontPage Les extensions FrontPage permettent le développement de sites web au moyen du logiciel FrontPage, soit directement sur le serveur, soit à partir d'une station de travail cliente. Active Server Pages IIS permet l'exécution directement sur le serveur de scripts ASP version 3 (.asp - VBScript, JavaScript, Perl) qui communiquent avec une station de travail cliente en lui expédiant des pages HTML virtuelles générées dynamiquement par ces scripts. L'installation de .NET Framework permet l'exécution directement sur le serveur de scripts ou d'applications ASP.NET (.aspx). Attention: • Il n'y a pas de serveur POP dans IIS; • IIS ne peut pas être installé avec la version «home» de Windows XP. 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-4 3. Un environnement normal client-serveur web La communication entre l'application cliente et l'application serveur s'effectue au moyen de sockets. Un socket comprend une paire de fichiers, créé par TCP/IP sur les deux ordinateurs qui sont en communication. Tout ce que l'application cliente écrit dans son fichier du socket est automatiquement recopié par TCP/IP dans le fichier correspondant à ce socket sur le serveur. De même, tout ce que le serveur écrit dans son fichier du socket est automatiquement recopié par TCP/IP dans le fichier correspondant à ce socket sur la station cliente. Comme vous le verrez dans le cours 420-275, un socket correspond à une adresse IP et à un numéro du port. Internet Explorer «lit» donc toujours les pages web dans un fichier temporaire créé par TCP/IP: le socket. 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-5 4. La simulation dans le laboratoire Pour fins de test, il est possible d'utiliser le même ordinateur à la fois comme client et comme serveur. Si nous ouvrons un fichier au moyen d'Internet Explorer, ce dernier lira le fichier comme s'il était un socket. C'est le cas, par exemple, lorsque nous ouvrons l'URL: file:C|MonRepertoire/MaPage.htm Ceci fonctionne bien pour un site composé exclusivement d'HTML, car c'est ce qui est reçu normalement dans un socket par le client. Si le site contient cependant des scripts qui doivent s'exécuter sur le serveur (pour lire une base de données, par exemple), ces scripts ne pourront être exécutés car IE est un client, et non un serveur. Si IIS est installé sur notre station de travail et que cette dernière se nomme MaStation («hostname»), nous pouvons faire exécuter les scripts serveurs en faisant ouvrir un socket par TCP/IP entre notre client IE et notre serveur IIS, même s'ils sont tous deux situés sur la même station, au moyen de l'URL: http://MaStation/MonSite/UnScript.asp ou http://localhost/MonSite/UnScript.asp IE croira alors qu'il est situé sur une station cliente et qu'il communique avec un serveur situé ailleurs sur internet. IIS, quant à lui, se comportera comme un serveur auquel une station cliente, située ailleurs sur internet, enverrait une requête. Aucune de ces deux applications ne saura que les deux extrémités du socket auront été ouvertes sur le même ordinateur. L'utilisation du nom localhost à la 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-6 place du nom de la station permet de tester les pages web que vous développez sur d'autres ordinateurs. Cela est utile notamment pour remettre vos TP au prof pour qu'il puisse les corriger sans avoir à renommer son serveur! Notez qu'avec IIS, le site appelé ici MonSite correspondra habituellement à un sous-répertoire (dossier) dans le répertoire c:\inetpub\wwwroot qui est le répertoire par défaut des sites web dans IIS. 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-7 5. Notre environnement serveur Afin de pouvoir profiter de la communication avec les bases de données et des améliorations du langage VBScript apportées par la version .NET, nous ajouterons à la configuration serveur décrite à la section 2, un certain nombre de modules: L'installation de MySQL version 5.0 permet l'accès à des bases de données relationnelles SQL. Le module .NET Framework permet l'exécution des modules .ASPX incluant des scripts écrits en VBScript.NET (et autres applications développées avec Visual Studio). 420-283 Programmation d'un serveur Collège de Maisonneuve - Session H-2008 page 1-8