Was sind CGI-Skripts und wie verbessern sie Websites?

Was sind CGI-Skripts und wie verbessern sie Websites? / Programmierung

CGI steht für Gemeinsame Gateway-Schnittstelle. Es ist ein Standardprotokoll für Webserver, um Programme auszuführen und Ausgaben für Webbrowser zu generieren. Die besten Webbrowser für Windows Die besten Webbrowser für Windows Was ist Ihr Standardbrowser? Auch wenn uns die Qual der Wahl fehlt, bleiben die meisten von uns bei den bewährten Hauptakteuren. Was sind bessere Alternativen für Ressourcennutzung, Geschwindigkeit und Sicherheit? Weiterlesen . Das Programm wird als CGI-Programm bezeichnet (oder als CGI-Skript. Sparen Sie sich Zeit und Aufwand, indem Sie GIMP mit Skripts automatisieren. Sparen Sie Zeit und Aufwand, indem Sie GIMP mit Skripts automatisieren. Durch die Automatisierung von Aktionen mit Python-Skripts in GIMP können Sie eine Menge Zeit sparen nicht leicht zu beginnen, aber sobald Sie diese Grundlagen kennen, sind Sie auf gutem Weg! Sie wird im Auftrag des Webservers ausgeführt, um eine Ausgabe zu erzeugen, wenn der Webbrowser des Benutzers eine bestimmte URL anfordert.

Vorteile von CGIs

Ein CGI verbessert eine Website in vielerlei Hinsicht. Von der Authentifizierung eines Benutzers bis zur Bereitstellung einer vollständigen Einkaufsanwendung stehen CGIs im Mittelpunkt, um das Web dynamisch und interaktiv zu gestalten. Nachfolgend sind einige der wichtigsten Vorteile der Verwendung von CGIs zur Verbesserung der Benutzererfahrung aufgeführt.

  • Personalisiert auf den Benutzer: Die Ausgabe kann für jeden Benutzer personalisiert werden. Zum Beispiel kann ein Benutzer seine Kontostände überprüfen, die möglicherweise aus der Datenbank abgerufen werden müssen.
  • Andere Arten der Personalisierung: Der Benutzer verwendet möglicherweise ein Mobiltelefon, um auf die Website zuzugreifen, und die Ausgabe muss für die Auflösung des Mobiltelefons angepasst werden.
  • Aktualisierungen vornehmen: Eine Aktualisierung wird als Ergebnis eines Formular-POST durchgeführt (nachstehend erläutert). Beispielsweise aktualisieren Sie möglicherweise Ihren Facebook-Status.
  • Dateien hochladen: Eine von einem Benutzer hochgeladene Datei benötigt eine CGI auf der Serverseite, um die Anforderung zum Hochladen der Datei zu verarbeiten, um die Datei an einem bestimmten Ort zu speichern.
  • Ausgabe erzeugen: Zusätzlich zu der im Browser angezeigten Ausgabe bieten viele Websites zusätzliche Ausgabemöglichkeiten an, z. B. Word-Dokument, PDF usw. Einige dieser Dokumente müssen möglicherweise sofort von CGIs generiert werden, z. B. Ihre Telefonrechnung oder Ihre Kreditkartenabrechnung.

Statische Dateien im Vergleich zu CGIs

Eine HTML-Datei 17 Einfache HTML-Code-Beispiele, die Sie in 10 Minuten lernen können 17 Einfache HTML-Code-Beispiele, die Sie in 10 Minuten lernen können Wenn Sie die folgenden 17 HTML-Tags (und die dazugehörigen zusätzlichen Tags) kennen, können Sie dies tun Erstellen Sie eine grundlegende Webseite von Grund auf oder optimieren Sie den Code, der von einer App wie… Read More erstellt wurde (sowie JavaScript zwischen Java und JavaScript: Alles, was Sie wissen müssen, Java gegenüber JavaScript: Alles, was Sie wissen müssen, um Java und Javascript zu teilen In diesem Beitrag werden wir einige dieser Unterschiede untersuchen.Lesen Sie mehr und CSS 10 Beispiele für einfache CSS-Codes, die Sie in 10 Minuten lernen können 10 Einfache CSS-Code-Beispiele, die Sie lernen können In 10 Minuten können Sie lernen In 10 Minuten werden wir ein Inline-Stylesheet erstellen, in dem Sie Ihre CSS-Fähigkeiten üben können. Anschließend werden wir mit 10 grundlegenden CSS-Beispielen fortfahren. Von dort aus ist Ihre Fantasie die Grenze! Lesen Sie weiter direkt vom Webserver. Ein CGI-Programm wird dagegen vom Webserver ausgeführt, wenn eine bestimmte URL angefordert wird. Es wird verwendet, um Anforderungen zu erfüllen, die Zugriff auf dynamische Informationen benötigen, z. B. Informationen, die sich in einer Datenbank befinden. Ein Beispiel wäre die Authentifizierung eines Benutzers, um den Zugriff zu ermöglichen: Der Benutzername und das Kennwort könnten in einer Datenbank gespeichert werden, und eine Anforderung zur Validierung des Benutzers würde auf diese Informationen zugreifen müssen. Um diese Anfrage zu bearbeiten, führt der Webserver ein CGI-Programm aus, das die Informationen abruft und den Benutzer validiert.

Webserver konfigurieren

Auf einem Webserver wird eine HTTP-Serversoftware ausgeführt, mit der HTML-Dateien bereitgestellt und CGI-Programme ausgeführt werden können, um eine fliegende Ausgabe zu generieren. Die HTTP-Serversoftware wird vom Webserveradministrator so konfiguriert, dass bestimmte Programme ausgeführt werden, wenn URLs angefordert werden, die bestimmten Mustern entsprechen.

CGIs ausführen

Wenn der Browser eines Benutzers eine Anfrage an eine bestimmte URL stellt, sendet der Browser eine ganze Reihe von Informationen in Form von HTTP-Headern und möglicherweise des HTTP-Texts. Einige davon können sein:

  • Der Browsertyp
  • Der Name des Benutzers, wenn sich der Benutzer angemeldet hat
  • Alle zuvor vom Webserver gespeicherten Cookies
  • Formularvariablen, wenn die Anforderung eine POST-Anforderung ist

Wenn eine CGI ausgeführt wird, um diese Anforderung zu erfüllen, übergibt der Server alle diese Informationen an das CGI-Programm. Die CGI kann einige oder alle dieser Informationen verwenden, um die Anfrage zu bearbeiten und die Ausgabe für den Benutzer zu personalisieren.

Umgang mit Formular-POSTs

CGIs werden hauptsächlich zur Verarbeitung von HTML-Formularen verwendet.

Ein HTML-Formular ist ein Benutzerinteraktionsgerät und bietet eine Vielzahl von Steuerelementen, mit denen der Benutzer Eingaben vornehmen kann. Wenn der Benutzer auf a klickt einreichen Wenn Sie die Schaltfläche (oder etwas Ähnliches) auf dem Formular anklicken, fasst der Webbrowser die Informationen im Formular zusammen und sendet sie an die im Formular angegebene Ziel-URL. Der Webserver ruft typischerweise ein CGI-Programm auf und sendet alle vom Benutzer erfassten Eingaben. Diese Interaktion wird als Formular-POST bezeichnet, ein Fachbegriff, der die Methode zum Senden des Formularinhalts an die CGI bezeichnet. Das CGI verarbeitet den Formularinhalt und erstellt eine geeignete Antwort, die an den Browser gesendet wird.

Ein Beispiel CGI

Im Folgenden finden Sie ein Beispiel für ein in Python geschriebenes CGI-Programm. 5 Gründe, warum Python-Programmierung nicht nutzlos ist 5 Gründe, warum Python-Programmierung nicht nutzlos ist Python - Sie lieben es oder Sie hassen es. Sie können sogar wie ein Pendel von einem Ende zum anderen schwingen. Unabhängig davon ist Python eine Sprache, bei der es schwierig ist, ambivalent zu sein. Weiterlesen . Es kann auf einem Webserver bereitgestellt werden, sodass es von einer URL aus aufgerufen werden kann, die wie folgt aussieht: http://www.example.com/cgi-bin/env.cgi. Beim Aufruf meldet das CGI alle Variablen, die es in seiner Umgebung vom Webserver erhalten hat. Dies ist ungefähr so ​​einfach wie ein CGI-Programm.

#! / usr / bin / python import os print "Inhaltstyp: text / plain \ n" für Schlüssel in os.environ: Druckschlüssel, "=> \" ", os.environ [Schlüssel]," \ "" 

Die Entwicklung der CGIs

CGIs sind seit fast dem Beginn des Webs Teil von Webservern. Der erste Webserver, der NCSA HTTPd-Webserver, begann mit der Unterstützung nur für statische Dateien. Anschließend wurde erkannt, dass die Ausführung eines Skripts als Antwort auf eine URL-Anforderung dem Webserver die Generierung dynamischer Inhalte ermöglichte, und die CGI-Spezifikation war geboren.

Die ersten CGI-Programme waren einfache Skripts, die in einer Sprache wie Perl, TCL, Shell usw. geschrieben wurden. Es könnte auch in einer kompilierten Sprache wie C / C ++ geschrieben werden. Dies machte jedoch einen zusätzlichen Schritt des Kompilierens des Programms zum Erstellen der ausführbaren Datei erforderlich CGI.

Wenn CGIs immer komplexer werden und der Benutzer mehr Anforderungen an das Erstellen von Web-Interfaces stellt: Wo beginnen? Web-Interfaces erstellen: Wo beginnen? Wir zeigen Ihnen, wie Web-Interfaces zusammenbrechen, und weisen Sie auf die wichtigsten Konzepte, Tools und Bausteine ​​hin Machen Sie sich zum Webdesigner des 21. Jahrhunderts. Lesen Sie mehr. Es wurde erkannt, dass die Erstellung eines separaten CGI-Prozesses für die Bearbeitung jeder Anforderung im Hinblick auf Speicher und CPU-Overhead zu groß war. Vor allem, wenn die Wartung der Anfrage weniger Zeit in Anspruch nimmt als der Aufwand für die Erstellung eines neuen Prozesses.

Zu diesem Zeitpunkt begannen Webserver mit der Einbindung von vollständig entwickelten Skriptinterpreter, sodass Benutzeranforderungen separat behandelt werden konnten Faden innerhalb eines einzigen Webserverprozesses. Dadurch wurde die Effizienz der Anforderungsbearbeitung verbessert und die Antwortzeiten verkürzt.

Dies fiel mit der Einführung neuer, speziell für das Web entwickelter Sprachen wie PHP zusammen. Der PHP-Interpreter startete als CGI-Programm. Als Teil der Anforderungsverarbeitung analysiert es die angeforderte Datei für PHP-Anweisungen und führt die darin enthaltenen Befehle aus.

Neben CGI-Skripts gibt es heute viele Technologien, die zur Ausführung von Code auf dem Server als Antwort auf eine Anforderung verwendet werden.

Verwenden Sie CGI-Skripts in einem beliebigen Teil der Website Ihres Unternehmens? Haben Sie besondere Probleme mit der Bereitstellung oder Pflege von CGI-Skripts gehabt? Diskutieren Sie unten in den Kommentaren.

Erfahren Sie mehr über: Webentwicklung.