Webbasierte Adressdatenbank

Was ist ein Webserver
Ein Web Server ist kein Computer, sondern ein Programm. Der Web Server (oder auch HTTP Dämon, oder kurz httpd) läuft auf einem Rechner, der in der Regel eine direkte Verbindung zum Internet hat (aber nicht haben muß). Dieses Server Programm stellt ein Informationsangebot von Web-Seiten (z.B. HTML Seiten) und Grafiken bereit. Daneben können auch Programme (in unserem Falle Perl Skripts) ausgeführt werden um dynamische Web Seiten zu generieren. Der httpd kann gleichzeitig mehrere Anfragen berarbeiten!! Die grundsätzliche Kommunikation zwischen einem Web Browser und Web Server wurde bereits in HTTP und CGI Protokoll dargestellt. Ein solches Serverprogramm kann natürlich auch auf dem heimischen Rechner offline (ohne Verbindung zum Internet) betrieben werden. Zur Funktion benötigt man allerdings TCP/IP.

TCP/IP
Die Kommunikation der Rechner im Internet basiert auf der Gruppe der TCP/IP Protokolle. Diese Gruppe hat ihren Namen von den zwei wichtigsten Protokollen dieser Gruppe: TCP Transmission Control Protocol und IP Internet Protocol. Über die Funktionsweise dieser Protokolle wurden bereits sehr viele Bücher geschrieben, ich will hier nur einige wenige grundsätzliche Bemerkungen dazu machen. Eine Eigenheit des TCP/IP ist, daß jeder Rechner im Internet mit einer Nummer bezeichnet wird, Dies IP Nummer besteht aus vier Byte, jeweils durch einen Punkt getrennt (z.B. 192.178.16.1). Solche Nummern sind für den Benutzer denkbar schlecht zu merken, deshalb werden diesen IP Nummern Namen zugeordnet, z.B. www.ic.pirmasens.de . Um nun aus den Namen die zugehörigen IP Nummern zu erhalten werden sogenannte DNS-Server (ist wieder ein Programm, welches auf Rechnern im Internet läuft) verwendet. DNS bedeutet Domain Name Service.

Geeignete Web Server
Ich will hier nur ein Produkt nennen: Apache Der Apache Web Server läuft auf fast allen Betriebssystemen (Unix, Linux, Win95/98, WinNT ...) und ist der heute am häufigsten eingesetzte Webserver (ca 55% aller Web Server im Internet).

Grundsätzliche Arbeitsweise eines Web Servers
Der httpd kann also, wie oben gesehen über eine IP Nummer angesprochen werden. Da auf einem Server Rechner mehrere Serverprogramme für die unterschiedlichsten Anwendungen betrieben werden können (z.B FTP, Telnet, SQL-Datenbank, Web Server u.a.) werden sogenannte Ports verwendet um die unterschiedlichen Dienste anzusprechen. Um einen bestimmten Port zu verwenden, hängt man die Portnummer mit einem Doppelpunkt getrennt an die IP Nummer an. Normalerweise spricht man einen Web Server auf dem Standard Port 80 an, dann kann das Anhängen der Portnummer entfallen. Den Web Server auf dem eigenen Rechner spricht man entweder über http://localhost oder http://127.0.0.1 an.
Damit ein Web Server auch HTML Seiten liefern kann müssen diese in einem bestimmten Verzeichnis stehen, in der Regel in htdocs. Dieses Verzeichnis liegt beim Apache Web Server unter Linux in der Regel in /usr/local/httpd/htdocs, bzw heute unter /srv/www/htdocs,unter Windows je nach Installation unter C:\httpd\htdocs. Wenn man nun die Seite index.html im HTML-Root Verzeichnis des Web Servers auf dem Browser abrufen will, genügt ein http://localhost/index.html; der Web Server setzt das dann auf das richtige Verzeichnis um. Um Programme (z. B. Perl Skripte) über den Web Server ausführen zu können muß ein entsprechendes Verzeichnis auf dem Web Server eingerichtet werden z. B. cgi-bin. Dieses liegt beim Apache normalerweise in /usr/local/httpd/cgi-bin, unter Windows in C:\httpd\cgi-bin. Zusätzlich muß dem Web Server noch über die Konfiguration mitgeteilt werden, daß die Files innerhalb des cgi-bin Verzeichnisses ausführbar sind, bzw ausgeführt werden dürfen.
Was passiert eigentlich, wenn man ein Perl Programm über den Web Server aufruft? Der Apache nimmt das File und gibt es an eine Shell (Komandozeilen Interpreter) zur Abarbeitung weiter, diese findet in der ersten Zeile (Shebang Zeile) einen Eintrag  #!/usr/bin/perl . Diese Zeile weist die Shell darauf hin, das der Perl Interpreter im Verzeichnis /usr/bin steht. Unter Windows wird im grafischen Konfigurationstool die Endung .pl als Perlprogramm gekennzeichnet und der Pfad zum Perl Interpreter, in der Regel C:\Perl\bin\perl.exe angegeben. Dann führt der HTTPd beim Aufruf einer .pl Datei aus dem cgi-bin Verzeichnis diese mit dem Perl Interpreter aus. Das Perl Programm gibt seine Ausgaben (print etc) an die Standard Ausgabe, hier der httpd, welche dieser an den Browser weiterreicht (vergleiche auch HTTP und CGI Protokoll).

Literaturhinweise:

Zurück zum Anfang dieses Projekts.