Wie CGI-Skripte Browseranfragen in dynamische Webseiten umwandeln

0
5

Man muss kein Zauberer sein, um zu verstehen, wie das Internet früher Inhalte im Handumdrehen generierte. Bevor moderne Frameworks und JavaScript-lastige Single-Page-Apps die Oberhand gewannen, war CGI das Rückgrat dynamischer Webinhalte. Gemeinsame Gateway-Schnittstelle. Es klingt trocken. Es funktioniert einfach.

Im Kern ist ein CGI-Skript nur ein Programm. Normalerweise in C oder PERL geschrieben, befindet es sich in einem bestimmten Ordner auf dem Server, der normalerweise cgi-bin heißt. Wenn ein Browser auf die URL dieses Skripts zugreift, sendet der Server nicht einfach eine statische Datei zurück. Es führt das Programm aus. Was auch immer dieses Programm auf seiner Standardausgabe (STDOUT) ausgibt, wird direkt an Ihren Browser weitergeleitet.

Es gibt eine Regel, die Sie nicht brechen dürfen. Das allererste, was das Skript senden muss, ist der Header: „Content-type: text/html\n\n“. Zwei Zeilenumbrüche am Ende. Es signalisiert dem Browser: „Was folgt, ist HTML.“ Danach? Alles ist möglich. Entwickler senden normalerweise gültige HTML-Tags, um sicherzustellen, dass die Seite korrekt gerendert wird.

Umgang mit Formulardaten

Woher weiß das Skript, welche Daten verarbeitet werden müssen? Es stammt aus einem HTML-Formular. Sie definieren im Formularcode ein „ACTION“-Attribut, das auf die URL des CGI-Skripts verweist. Wenn ein Benutzer das Formular absendet, werden die Daten an das Skript weitergeleitet.

Die schwere Arbeit muss dann das Drehbuch übernehmen. Es analysiert die eingehenden Zeichenfolgen. Es dekodiert geänderte Zeichen (z. B. verwandelt „%20“ wieder in ein Leerzeichen). Ein einfaches C-Programm kann diese Analyse durchführen, erfordert jedoch eine manuelle Speicherverwaltung und Zeichenfolgenmanipulation.

Wenn Sie PERL verwenden, ist es einfacher. Die PERL-CGI-Bibliothek abstrahiert die chaotische Parsing-Logik. Sie rufen eine Funktion auf und die Daten sind bereit. Es ist sauberer. Es ist schneller zu schreiben.

Wohin gehen die Ergebnisse?

In einem Tutorial könnten Sie die Ergebnisse einfach auf dem Bildschirm ausdrucken. In einem realen Szenario würden Sie diese Daten speichern wollen. Textdateien? Datenbanken? Beide funktionieren. Sie können Umfrageantworten mit minimalem Code an eine Protokolldatei aus C oder PERL anhängen. Diese Beständigkeit macht CGI über eine einfache „Hello World“-Demo hinaus nützlich.

Das Erbe von CGI

In diesem Zusammenhang haben wir die Grundlagen von C und PERL behandelt. Wenn Sie tiefer in die Mechanik eintauchen möchten, schauen Sie sich vielleicht an, wie die C- oder PERL-Programmierung unter der Haube funktioniert. Oder erfahren Sie, wie Webserver diese Anfragen verwalten.

Für diejenigen, die das Standardwerk überspringen möchten, gibt es Ressourcen wie cgi-lib.pl. Es handelt sich um eine Bibliothek, die die PERL-CGI-Verarbeitung erheblich vereinfacht. Außerdem gibt es den CGI-Ressourcenindex für Dokumentation und schnelle Einführungen in HTML-Formulare.

Es ist eine alte Technologie. Aber es etablierte das Muster dafür, wie Server mit externen Programmen kommunizieren. Wenn Sie dies verstehen, können Sie den modernen Stack besser verstehen, selbst wenn Sie jetzt Python oder Node.js verwenden. Die grundlegende Frage bleibt dieselbe: Wie nehmen wir Benutzereingaben auf und wandeln sie in eine dynamische Reaktion um?

Die Antwort begann mit einem Skript in einem cgi-bin-Ordner.

попередня стаття10 der besten Tech-Geschenke für Männer im Jahr 2011: Beginnen Sie mit dem iPhone 4S
наступна статтяWie statische Elektrizität Ihren Laserdrucker antreibt