next up previous contents index
Search Next: HTML-Seiten mit Ruby Up: Das Ruby-Kochbuch Previous: Das Socket-API in Ruby   Contents   Index

CGI-Skripte mit Ruby

There are good smokers and bad smokers like hackers.
matz


\epsfig{height=24pt,file=images/ruby.eps}Wir haben im vorigen Kapitel über das HTTP-Protokoll Webseiten von einem Server angefordert. Dieses Kapitel ist der Serverseite gewidmet, also der Erzeugung von HTML-Seiten. Auch in diesem Bereich stellt Ruby verschiedenste Werkzeuge für den Entwickler bereit.

In dem lesenswerten Artikel [Viaweb] wird beschrieben, wie Viaweb mit Lisp in kurzer Zeit eine hochrentable E-Commerce-Website erstellt hat. Der Einsatz von dynamischen Hochsprachen zahlt sich nicht nur in kürzerer Entwicklungszeit und daraus folgender frühzeitiger Marktpräsenz aus: Viaweb wurde für 50 Millionen $ an Yahoo verkauft.

Common Gateway Interface (CGI) ist ein Standard, um mit einem Webserver Daten mit externen Programmen austauschen zu können. Alle gängigen Webserver unterstützen CGI, viele Skriptsprachen (Perl, Python) haben durch die weite Verbreitung von CGI-Skripten sehr an Beliebtheit gewonnen. CGI-Skripte sind einfach zu programmieren, aber auch relativ langsam[*], da für jeden CGI-Skript-Aufruf ein neuer Prozess gestartet werden muss. Grundlagen der CGI-Programmierung findet man in [CGI].

Rubys CGI-Modul enthält das nötige Werkzeug, um HTML-Seiten und Formulare dynamisch zu erzeugen und auszuwerten, sowie Methoden zum Arbeiten mit Cookies und Sessions. Es erlaubt auch den Zugriff auf die Umgebungsvariablen des Webservers, wobei die üblichen CGI-Namen in der Regel mit Kleinbuchstaben geschrieben werden.

Wie bei anderen Sprachen auch können einfache CGI-Skripte, die keine Browserfunktionen wie Speichern von Cookies etc. benötigen, auch ohne Webserver getestet werden, indem sie über Batch-Dateien mit Parametern versorgt werden. Komplexere Aufgaben verlangen dann aber auch bessere Werkzeuge, zum Beispiel wie die im Abschnitt 32.5 beschriebenen oder auch den im Ruby Application Archive [RAA] verfügbaren WebUnit.



Footnotes

... langsam[*]
Ausnahmen: FastCGI, mod_*, ...


Abschnitte
next up previous contents index
Search Next: HTML-Seiten mit Ruby Up: Das Ruby-Kochbuch Previous: Das Socket-API in Ruby   Contents   Index
(C) 2002 by dpunkt.de, Armin Roehrl, Stefan Schmiedl, Clemens Wyss 2002-01-20