Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Griselda Stippich Geändert vor über 10 Jahren
1
Seite 0 02.11.2005 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 1 02.11.2005 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 2 02.11.2005 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 3 02.11.2005 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 4 02.11.2005 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 5 02.11.2005 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 6 02.11.2005 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 7 02.11.2005 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 8 02.11.2005 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 9 02.11.2005 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 10 02.11.2005 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 11 02.11.2005 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 12 02.11.2005 Common Gateway Interface. Konzepte. AnwenderName=tit04+agr&AnwenderMail=tit04agr@yahoo.de&Text=Das+ist+ein+Text+für+Euch Formulardatenstrom:
14
Seite 13 02.11.2005 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
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.