VSIS: Arbeitsgruppe Verteilte Systeme und Informationssysteme prInt: Das Praktikum Internet-Werkzeuge  Praktikum Internet-Werkzeuge   Fachbereich
  Aufgaben  Dokus  Links   Universität Hamburg

 Web-Server

Um Informationen im WWW anbieten zu können, werden Server-Programme benötigt. Diese Webserver sind unter ihrer jeweiligen IP-Adresse zu erreichen und "lauschen" auf einem bestimmten Port (standardmaessig Port 80). Clients (z.B. der Navigator oder der IE) können HTTP-Anfragen an diesen Server stellen, und Dokumente abfordern.

Ursprünglich boten Webserver nur statische Informationen an, d.h. die angeforderten HTML-Dokumente und Bilder lagerten fertig auf einem Speichermedium und wurden unverändert an den Client versandt. Grosse Websites und vor allem Suchmaschinen lassen sich aber so nicht realisieren.

 CGI

Über die standardisierte Schnittstelle "Common Gateway Interface" (CGI) wird es Webservern ermöglicht, externe Programme zu starten, die aufgrund der vom Client übersandten Daten eine HTML-Seite (oder ein beliebiges anderes Dokument!) generieren. Das CGI-Programm wird dabei über die URL identifiziert und die Daten werden als Umgebungsvariablen an das Programm übergeben.

Für die CGI-Programmierung sind prinzipiell alle Programmiersprachen, die über ausreichend mächtige Ein- und Ausgabefunktionen verfügen, geeignet. Da CGI-Scripte in der Regel relativ kurz sind und häufig nur der Anpassung der Parameter und Resultate an existierende Anwendungen dienen, kommen vielfach interpretierte Sprachen wie Perl zum Einsatz. Für zeitkritische CGIs wird aber auch schon mal auf C zurückgegriffen. In den letzten Jahren entstanden jedoch immer mehr speziell für das Web geschaffene Sprachen wie PHP, die eine wesentlich komfortablere HTML-Generierung ermöglichen. Hier können die Befehle direkt in HTML-Gerüste eingefügt werden.

 Module

Während der Webserver für jeden Aufruf eines CGI-Programms einen teuren Prozess starten muss, ermöglicht der Apache-Webserver auch den Server über Module zu erweitern. Wird PHP als Modul in den Apache Webserver hineinkompiliert, muss nicht für jeden PHP-Aufruf ein neuer Prozess gestartet werden. Das PHP-Modul simuliert zwar für das PHP-Skript die CGI-Schnittstelle, technisch gesehen ist dies aber bereits kein CGI mehr.

 Servlets

Die Server-Modul-Kommunikation von Apache ist jedoch noch ineffizient. Der vollständig in Java geschriebene Server Tomcat erlaubt es sogennanten "Servlets" - kleinen in Java geschriebenen Programmstücken - auf HTTP-Anfragen zu reagieren. Der Vorteil hierbei ist, dass Server und Servlet im selben Prozess laufen. Die Verwendung von JSPs ermöglicht ausserdem die einfache Erstellung von Servlets.

 Sicherheit

Eine wesentliche Aufgabe von Webservern ist auch in der Zugriffskontrolle und Benutzerverwaltung zu sehen. Hierbei können unterschiedliche Mechanismen zum Einsatz kommen, die sich zum Teil erheblich in ihrem Sicherheitniveau unterscheiden. Bei hohen Sicherheitsanforderungen sind nur Kryptographie-basierte Verfahren, wie z.B. SSL und S-HTTP geeignet.


Mi 12-16 Uhr Raum: B-201 und RZ Start: 05.04.2006
Eine Veranstaltung des Arbeitsbereichs Verteilte Systeme und Informationssysteme (VSIS)

Letzte Änderung : 08.04.2001 - 15:21
EMail: prInt06@vsis.informatik.uni-hamburg.de