Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Internet Technologien SS 98

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Internet Technologien SS 98"—  Präsentation transkript:

1 Seminar Internet Technologien SS 98
Vortrag: Common Gateway Interface gehalten von: Michael Gründler Seminar Internet-Technologien Thema: CGI / Michael Gründler

2 Seminar Internet-Technologien Thema: CGI / Michael Gründler
CGI Gliederung Teil I Motivation / Was ist CGI Funktionsweise Die Schnittstelle CGI-Sprachen Vom Client zum Server Exkurs nach HTML-Forms Die Methoden Get und Post Übergabe und Kodierung Seminar Internet-Technologien Thema: CGI / Michael Gründler

3 Seminar Internet-Technologien Thema: CGI / Michael Gründler
CGI Gliederung Teil II Vom Server zum Client Dekodierung der Eingabedaten Umgebungsvariablen Erzeugung von HTML Dokumenten Header Versteckte Felder und Cookies Sicherheitsaspekte Abschließende Bemerkungen Quellen Seminar Internet-Technologien Thema: CGI / Michael Gründler

4 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Motivation CGI ermöglicht: Zugriffszähler Gästebücher Datenbankabfragen Animation Formularabfragen Online-Registrierungen Realisierung von Suchmaschinen... Seminar Internet-Technologien Thema: CGI / Michael Gründler

5 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Was ist CGI ? Common Gateway Interface (Allgemeine Vermittlungsrechner-Schnittstelle) aktuelle Version CGI/1.1 Übertragung mittels HTTP Protokoll ermöglicht dynamisch HTML-Dokumente zu erstellen ermöglicht externe Programme aus HTML Dokumenten heraus zu starten dient als Gateway für z.B. Datenbanken Seminar Internet-Technologien Thema: CGI / Michael Gründler

6 Funktionsweise vom CGI
Seminar Internet-Technologien Thema: CGI / Michael Gründler

7 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Die Schnittstelle WWW-Server muß CGI unterstützen Verzeichnis festlegen, meist cgi-bin Benutzer muß Berechtigung haben, CGI-Programme auszuführen CGI ist sprachunabhängig Folgende Bedingungen müssen erfüllt sein: Lesen von Standard in Schreiben auf Standard out Zugriff auf Umgebungsvariablen muß möglich sein Seminar Internet-Technologien Thema: CGI / Michael Gründler

8 Seminar Internet-Technologien Thema: CGI / Michael Gründler
CGI Sprachen Alle Sprachen möglich, die die 3 Bedingungen erfüllen Perl oft benutzt Interpretersprache kann gut mit regulären Ausdrücken umgehen bietet gute und einfache Möglichkeiten der Textmanipulation ist noch frei erhältlich auch C, C++, TCL, Basic... Seminar Internet-Technologien Thema: CGI / Michael Gründler

9 Exkurs nach HTML-FORMS I
Formulare erstellen mit HTML-FORMS <FORM ACTION ="/cgi-bin/programm.pl" METHOD ="POST"> leitet ein Formular ein <INPUT TYPE ="TEXT" NAME="name" VALUE ="value" SIZE ="size"> erstellt ein Textfeld Scroll-Listen Radiobuttons Checkbox Menues Seminar Internet-Technologien Thema: CGI / Michael Gründler

10 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Beispiel HTML-FORMS Seminar Internet-Technologien Thema: CGI / Michael Gründler

11 Exkurs nach HTML-FORMS II
Submit Button Absende Button Reset-Button "Lösch" Button </FORM> beendet Formular Seminar Internet-Technologien Thema: CGI / Michael Gründler

12 Die Methoden GET und POST
Eingabedaten werden an die URL herangehängt Server übermittelt Daten an QUERY_STRING Vorteil nicht unbedingt Formular erstellen schneller als POST Nachteil Lesbarkeit der URL leidet zu lange Anfragestrings werden von manchen Browsern abgeschnitten werden Seminar Internet-Technologien Thema: CGI / Michael Gründler

13 Die Methoden GET und POST
Anfragedaten werden nicht transparent übertragen, sondern über die Standardeingabe Vorteil Eingabedaten können beliebig lang sein Nachteil URL kann nicht als Bookmark gespeichert werden Seminar Internet-Technologien Thema: CGI / Michael Gründler

14 Übergabe und Kodierung
Bildung von KEY/VALUE - Paaren Paare werden durch & voneinander getrennt KEY und VALUE werden durch = voneinander getrennt Leerzeichen werden durch + ersetzt Umlaute, Sonderzeichen durch hexadezimalen ASCII Code ersetzt, % dient als Kennung Beispiel: vorname=Michael+J%FCrgen&nachname=Gr%FCndler Seminar Internet-Technologien Thema: CGI / Michael Gründler

15 Dekodierung der Eingabedaten
Lese REQUEST_METHOD, und ermittle das Request-Protokoll (Post oder Get) Bei "Get" QUERY_STRING auslesen Bei "Post" CONTENT_LENGTH auslesen und Anzahl Zeichen von STD IN lesen QUERY_STRING bei "&" zerlegen, separiert die Key/Value Paare Hexadezimal- und Pluszeichen dekodieren Seminar Internet-Technologien Thema: CGI / Michael Gründler

16 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Umgebungsvariablen WWW-Server stellt Umgebungsvariablen zur Verfügung Client übergibt Informationen an Server, der schreibt sie in die Umgebungsvariablen CGI- Programme müssen darauf zugreifen können Nicht alle werden benutzt, oder unterstützt Seminar Internet-Technologien Thema: CGI / Michael Gründler

17 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Umgebungsvariablen Seminar Internet-Technologien Thema: CGI / Michael Gründler

18 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Ausgabe vom CGI Grundlegende Ausgabe: Text oder HTML Dokument aber auch Grafik oder Binärdatei Anweisung: Virtuelles Dokument in Cache aufnehmen HTTP Statuskodes an Browser senden Server anweisen, ein vorhandenes Dokument zu senden Seminar Internet-Technologien Thema: CGI / Michael Gründler

19 Erzeugung von HTML-Dokumenten
CGI Programm schreibt Ausgabe auf Standard-Ausgabe Server leitet alles von Standard Ausgabe zum Client (Browser) Beispiel in Perl #!/usr/local/bin/perl print "CONTENT_TYPE: text/html", "\n\n"; print"<HTML>","\n; print"<HEAD><TITLE>Erstes Mal</TITLE></HEAD>", "\n"; print"<BODY><H1>...</H1>","\n"; print"</BODY></HTML>", "\n"; exit(0) Seminar Internet-Technologien Thema: CGI / Michael Gründler

20 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Header Header, damit Client mit Dokument umgehen kann Header in beliebiger Reihenfolge Wichtig: Header mit Leerzeile abschließen! Vollständige und unvollständige Header WWW-Server vervollständigt Header Wenn CGI einen vollständigen Header erstellt, dann präfix nph (Non Parsed Header) vor CGI-Programm, sendet direkt zum Client Vorsicht: Server kann Header nicht mehr korrigieren! Seminar Internet-Technologien Thema: CGI / Michael Gründler

21 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Header Seminar Internet-Technologien Thema: CGI / Michael Gründler

22 Versteckte Felder und Cookies
Komplexe Dialoge mit mehreren Formularen erfordert Speicherung von Informationen unterschiedliche Strategien versteckte Felder: Informationen werden transparent für Benutzer im Formular gespeichert, - Formulare werden immer länger Persistent Cookies Datei auf Client-Seite, Anzahl und Größe ist beschränkt Seminar Internet-Technologien Thema: CGI / Michael Gründler

23 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Sicherheitsaspekte Niemals Benutzereingaben ungeprüft auf Betriebssystemebene senden print ´$QUERY_STRING´; rm -fr / CGI-Programme laufen meist unter root Rechte, da Ports unter 1024 root-Rechte benötigen. Besser "Wrapper" benutzen. Durch Wrapper können Server und Programme mit beliebiger Kennung mit eingeschränkten Rechten betrieben werden Keine Passwortabfrage möglich, als Tag enthalten, aber unverschlüsselte Übertragung Seminar Internet-Technologien Thema: CGI / Michael Gründler

24 Abschließende Bemerkungen
Kommerzielle Anbieter: ISAPI von Microsoft NSAPI von Netscape FastCGI, baut auf CGI auf Datenbankanbindung über erweiterte HTML-Sprachen (SELECT,...) Client-seitige Vorverarbeitung von Eingabedaten durch Java-Script Seminar Internet-Technologien Thema: CGI / Michael Gründler

25 Seminar Internet-Technologien Thema: CGI / Michael Gründler
Literatur, Quellen CGI Programmierung im World Wide Web von Shishir Gundavaram, O´Reilly International Thomson Verlag Offizielle CGI Spezifikation: SelfHTML 6.1 HTML Dateien selbst erstellen von Stefan Münz unter beliebiger Suchmaschine Suchstring "CGI" oder CGI-Programmierung" eingeben. Seminar Internet-Technologien Thema: CGI / Michael Gründler


Herunterladen ppt "Seminar Internet Technologien SS 98"

Ähnliche Präsentationen


Google-Anzeigen