Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seite 0 02.11.2005 Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen.

Ähnliche Präsentationen


Präsentation zum Thema: "Seite 0 02.11.2005 Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen."—  Präsentation transkript:

1 Seite Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen für CGI 6Programmiersprachen für CGI-Skripte 7Formulare und CGI 8Zusammenspiel zwischen Browser – Webserver – CGI-Skript 9Wie verarbeitet der Browser die Informationen für den Server? 9Formulardaten übertragen mit GET 10Formulardaten übertragen mit POST 11Formulardatenstrom 12Sonstiges

2 Seite Common Gateway Interface. Konzepte. Einleitung Früher: WWW = Ansammlung von HTML-Dokumenten Problem: die zu präsentierende Datenmenge wächst schnell, Erzeugung der Seiten zu Fuß wird immer schwerer Notwendigkeit: serverseitig dynamische Websites Ein Programm (extern oder auf dem Webserver) muss on the fly und dynamisch die Seite generieren

3 Seite Common Gateway Interface. Konzepte. Was ist CGI? Common Gateway Interface (allg. Vermittlungsrechner-Schnittstelle). Ermöglicht eine Client-Server Interaktion für das WWW Älteste Variante, Webseiten dynamisch bzw. interaktiv zu gestalten Schnittstelle zwischen Programmen (Scripts) auf Webservern und den sie aufrufenden Webbrowsern Serverseitige Programme können sowohl Daten vom Browser empfangen (z.B. Formulareinträge) als auch neu generierte Daten an den Browser verschicken (z.B. HTML-Seite).

4 Seite Common Gateway Interface. Konzepte. Wozu wird CGI verwendet? Daten zum Webserver schicken & individuelle Daten vom Webserver zum Client senden Starten von Programmen auf dem Webserver zur Verarbeitung Anwendungsbeispiele: Erstellung eines Warenkorbs, Bestell- u. Buchungssysteme, Auslesen von Cookies oder User-/Client-Daten

5 Seite Common Gateway Interface. Konzepte. Geschichtlicher Überblick Die Entstehung von CGI: HTTP-Spezifikation ermöglicht erstmals, Daten als Website darzustellen Komplexität der Datenmengen wächst sehr schnell Notwendigkeit: Clients müssen auch Daten auf dem Webserver speichern/modifizieren können -> Verarbeitung von Formularen Common Gateway Interface

6 Seite Common Gateway Interface. Konzepte. Grundvoraussetzungen für CGI Der Webserver muss der CGI-Schnittstelle 3 Dinge zur Verfügung stellen: Umgebungsvariablen (z.B. SERVER_NAME) (informiert das CGI über aktuelle Einstellungen) Weiterleitung von Ausgaben (dynamische HTML-Seite/Seitenteile) Einholen von Formulareingaben oder Aufrufparametern (damit das CGI hierauf reagieren kann)

7 Seite Common Gateway Interface. Konzepte. Programmiersprachen für CGI-Skripte C/C++ Java Sämtliche Unix-Shell-Skriptsprachen (sh, bash etc.) TCL Python DOS-Batchdateien Häufig verwendet: PERL (plattformübergreifend)

8 Seite Common Gateway Interface. Konzepte. Formulare und CGI Formulare und CGI erweitern durch ihre Interaktivität die Funktionalität von HTML und damit des WWW erheblich Einsatzbereiche: dynamische Webseiten, die aus einer DB erzeugt werden Interaktion zw. Benutzer u. Server durch Formulare Passwortschutz von Webseiten

9 Seite Common Gateway Interface. Konzepte. BrowserWebserverCGI-Skript 1. Webseite (Formular) anfordern 2. Webformular liefern 3. Ausgefülltes Formular senden 4. CGI-Skript mit Formulardaten starten 5. Seite generieren u. Antwort senden Zusammenspiel zwischen Browser – Webserver – CGI-Skript

10 Seite Common Gateway Interface. Konzepte. Wie verarbeitet der Browser die Informationen für den Server? Übliche Vorgehensweise bei Links: Parameter werden an die URL angehängt & trennt Formularelemente = trennt Name u. Daten eines Formularelements ? trennt Parameter vom Skriptnamen + ersetzt Leerzeichen Sonderzeichen (ASCII-Werte 128 bis 256) in Hex-Code, eingeleitet durch %

11 Seite Common Gateway Interface. Konzepte. Formulardaten übertragen mit GET GET Angabe von method=get im -Tag Übertragung zum Server, Daten werden im QUERY_STRING zwischengespeichert CGI-Skript liest die Formulardaten aus dem QS aus GET /cgi-bin/eingabe.cgi?x=123&y=456 HTTP/1.1

12 Seite Common Gateway Interface. Konzepte. Post Angabe von method=post im -Tag Formulardaten werden direkt an die Adresse übertragen Auslesen über die Standardeingabe, abhängig von CONTENT_LENGTH POST /cgi-bin/eingabe.cgi HTTP/1.1 Content-Type: application/x-www-form-urlencoded Content-Length: 11 x=123&y=456 Formulardaten übertragen mit POST

13 Seite Common Gateway Interface. Konzepte. Formulardatenstrom:

14 Seite Common Gateway Interface. Konzepte. Sonstiges Sicherheit: Über CGI gestartete Programme dürfen nur bestimmte eingeschränkte Typen von Programmroutinen ausführen, (z.B. kein Löschen von Dateien des Webservers) Apache ist geschützt durch das Modul suexec Nachteil: Langsamer als z.B. Servlets, da für jeden CGI-Aufruf eine neue Programm-Instanz ausgeführt werden muss


Herunterladen ppt "Seite 0 02.11.2005 Common Gateway Interface. Konzepte. Übersicht 1Einleitung 2Was ist CGI? 3Wozu wird CGI verwendet? 4Geschichtlicher Überblick 5Grundvoraussetzungen."

Ähnliche Präsentationen


Google-Anzeigen