Internet Information Service (IIS) Tutorial

Microsoft bietet mit dem Internet Information Service (früher: Internet Information Server) eine Dienstplattform, mit welcher Dokumente und Dateien über das Netzwerk übertragen werden. Als Protokolle werde unter anderem HTTP, HTTPS, FTP, SMTP, POP3 oder WebDAV verwendet.

Internet Information Service Grundlagen

Definition IIS

Auf Microsoft-Plattformen sind die Internet Informationsdienste der „Wachhund“, der eingehenden HTTP-Anforderungen auf Port 80 überwacht. Zusätzlich verarbeitet der IIS auch Anfragen auf die Ports 443(HTTPS), 20 (FTP), 110 (POP3), 25 (SMTP) und einige weitere Internetdatenverkehr Ports. Der IIS teilt seinen Arbeitsraum in mehrere virtuelle Verzeichnisse ein. Jedes virtuelle Verzeichnis enthält üblicherweise eine einzelne Anwendung. Auf diese Art und Weise kann IIS mehrere Anwendungen gleichzeitig bedienen. Jedes virtuelle Verzeichnis enthält verschiedene Konfigurationseigenschaften, wie z.B. Sicherheitseinstellungen, Umleitung zur Fehlerbehandlung oder Isolationseinstellungen für die Anwendungen.

Definition Internet Services Application Programming Interface DLLs (ISAPI DLL)

Die Architektur von Microsoft setzt auf DLLs. Die DLLs für Webanfragen werden ISAPI DLLs genannt. Diese besitzen neben weiteren Einsprungstellen eine Einsprungstelle mit dem Namen HttpExtensionProc, die als die wichtigste angesehen werden kann. Die Antwort kann jeweils unterschiedlich sein.

Ein Beispiel mit der Betrachtung auf Port 80

Wenn ein Browser eine Anforderung an einen Server schickt, der auf einer Microsoft-Plattform ausgeführt wird, fängt IIS die Abfrage ab und sucht nach der Ressource, die durch die URL angegeben wurde. IIS teilt seinen Verzeichnisraum in kleine Verwaltungseinheiten auf, die als virtuelle Verzeichnisse bezeichnet werden.

[ad#co-3]

  1. Der User tippt http://www.itblogging.de/Internet-Information-Server.html in seinen Browser ein
  2. Die Anforderung wird anschließend durch eine große Anzahl von Routern weitergeleitet
  3. Ist die Anforderung beim Server eingetroffen wird nach der Ressource Internet-Information-Server.html in einer verzeichnisähnlichen Einheit mit dem Namen Service gesucht
  4. Die Methode HttpExtensionProc enthält einen einzelnen Parameter:
    EXTENSION_CONTROL_BLOCK
    In dieser Struktur befinden sich alle Informationen über den Kontext der Anforderung
  5. Die ISAPI DLL untersucht die eingehende Anforderung und bearbeitet diese
  6. Nach Bearbeitung der Anforderung gibt die ISAPI DLL die Ergebnisse an den Client zurück

Arbeitsblatt IIS

Installation von IIS

  • Windows XP/Server 2003 CD-ROM einlegen
  • Systemsteuerung > Software >Windowskomponenten hinzufügen/entfernen
  • Häkchen für Internet Informationsdienste (IIS) setzen

Häkchen für Internet Informationsdienste (IIS) setzen

IIS einrichten

  • IIS starten unter Start > Einstellungen > Systemsteuerung > Verwaltung > Internet InformationsDienste

IIS starten

  • Neues Virtuelles Verzeichnis anlegen

Neues Virtuelles Verzeichnis anlegen

[ad#co-3]

  • Assistenten zum Erstellen virtueller Verzeichnisse wird geöffnet + weiter + Alias für virtuelles Verzeichnis: Michel
  • Pfad für virtuelles Verzeichnis auswählen: C:\Michel
  • Zugriffsberechtigung auswählen
  • Nachfolgendes Fenster mit Fertig stellen bestätigen

Zugriffsberechtigung auswählen

PHP installieren

PHP Version 5 unter folgender Webadresse runterladen:
http://www.php.net/downloads.php
Beispiel: Windows Binaries installer (php-5.2.5.-win32-installer.msi)

  • Datei ausführen
  • Setup Fenster mit Next bestätigen
  • „I accept the terms in the License Agreement“ –> Next
  • Installationspfad auswählen (C:\PHP\) und mit Next bestätigen
  • Web Server Setup IIS CGI auswählen –> Next
  • Alle Dateipackete zum installieren auswählen –> Next
  • Install
  • Mit Finish Installation beenden

In dem vorhandenen Verzeichnis (hier: C:/Michel/) folgende phpinfo.php Datei erstellen.

<?PHP
  	phpinfo(); 
?>

Zum Testen des IIS Webservers den favorisierten Internet-Browser öffnen und als Zieladresse http://localhost/michel/phpinfo.php. Alternativ kann auch http://127.0.0.1/michel/phpinfo.php eingegeben werden.

ASP.NET (Active Server Pages)

Microsoft stellt dem Entwickler mit dem .NET Framework eine umfangreiche Klassenbibliothek zur Verfügung, welche er zur Entwicklung von Desktop-Anwendungen oder Internetapplikkationen benötigt.
ASP.NET-Seiten können in jeder beliebigen .NET Framework Sprache, wie C#, VB.NET, JScript oder Managed C++. Das Grundprinzip von ASP.NET ist identisch mit dem Grundprinzip anderer serverseitigen Scriptsprachen wie PHP. Der Client-Browser schickt ein Request an den Webserver, der daraufhin ein ASP.NET – Programm ausführt und eine Ausgabe in HTML generiert und diese an den Client zurückschickt. Im Gegensatz zu PHP können Code-Anteile von ASP nicht völlig beliebig mit HTML gemischt werden.

ASP.NET stellt einige fertige Lösungen als Bausteine bereit, die der Entwickler in seine Internetapplikation mit einbinden kann:

  • Sessionverfolgung (auch ohne Cookies)
  • Authentifizierung & Autorisierung
  • Caching
  • Darstellung und Bearbeitung von Daten aus Datenbanken
  • Steuerelemente zur Darstellung im Browser

Microsoft .NET Framework installieren

  • über http://www.microsoft.de/ Microsoft .NET Framework 3.5 downloaden und installieren

Microsoft .NET Framework 3.5

[ad#co-3]

>>Hallo Welt!<< Crash-Kurs

In dem folgenden Beispiel kann es durchaus vorkommen, das sie nicht alles vollständig verstehen was weiter nicht schlimm ist, denn es soll mit diesem kleinen Script lediglich ein kleiner Einblick in die ASP.NET-Welt gewährt werden.
Im folgende erstellen Sie ein Textdokument mit der Endung .aspx und speichern diese in den angelegten Michel Ordner.

<%@ Page Language="VB" Debug="True" Strict="True" %>
<script runat="server">
    Hier steht der VB-Code
</script>

<html>
   <!-- Und hier steht der HTML-Code -->
</html>

Erläuterung

  • @Page Direktive
    <%@ Page ... %>
  • Scriptcode
    <script runat="server"> ... </script>
  • HTML Code
    <html> … </html>

@Page Direktive
Language=“VB“ beschreibt die ausgewählte Programmiersprache die auf dem Server verwendet wird. Hier können alle oben genannten Programmiersprachen benutzt werden.
Debug=“True“ erleichtert das Debuggen auf dem Server.
Script=“True“ wird genutzt um den Server zu veranlassen, dass er mit der Option Strict kompiliert.

Scriptcode
Im Script tag muss die Option runat=“server“ angegeben werden. Dies ist wichtig um den nachstehenden Code ausführen zu können.
Der Script-Block enthält globale Variablen, Funktionen oder Prozeduren. Zu beachten ist, dass dieser Block keine frei stehenden Anweisungen enthalten darf.

HTML Code
In den HTML tag wird für gewöhnlich das bekannte HTML/XHTML benutzt. In diesem HTML-Code werden spezielle ASP .NET Steuerelemente wie zum Beispiel

<asp:Name Attribut="Wert" …> … </asp:Name>

eingefügt. Wichtig bei der Implementierung der Steuerelemente ist die Schließung des tags.
Bei der Ausgabe einer aspx-Seite wertet ASP.NET die serverseitigen Steuerelemente aus und generiert daraus HTML-Code.

Als nächsten Schritt erstellen wir ein Dokument mit dem Namen halloWelt.aspx und füllen diese mit folgendem Inhalt:

<!-- halloWelt.aspx -->
<%@ Page Language="VB" Debug="True" Strict="True"  %>
<script runat="server">
Dim tmp As String ="Hallo, Welt!"
</script>
<html><head><title ><% = tmp %></title></head><body>
<h1><% = tmp %></h1>
</body></html>

Die oben erstellte Datei soll im Michel Ordner gespeichert werden. Zum Aufruf unseres ersten ASP-Scripts starten Sie den Browser und geben Sie folgende Internetadresse ein:

http://localhost/michel/halloWelt.aspx

Herzlichen Glückwunsch. Sie haben so eben in ASP ihr erstes Script geschrieben!