Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Interaktion Jens Harnisch, Timo Harm TIT05BGR. 25.06.2015Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung.

Ähnliche Präsentationen


Präsentation zum Thema: "Interaktion Jens Harnisch, Timo Harm TIT05BGR. 25.06.2015Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung."—  Präsentation transkript:

1 Interaktion Jens Harnisch, Timo Harm TIT05BGR

2 Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung Scriptsprachen zur WWW-ProgrammierungScriptsprachen zur WWW-Programmierung Common Gateway Interface - CGI Common Gateway Interface - CGI Grundlegende KonzepteGrundlegende Konzepte Get / PostGet / Post Umgebungsvariablen des HTTP-ServersUmgebungsvariablen des HTTP-Servers Standard-Eingabe eines CGI-SkriptsStandard-Eingabe eines CGI-Skripts Kommandozeilen-Eingaben an ein CGI-SkriptKommandozeilen-Eingaben an ein CGI-Skript Standard-Ausgabe eines CGI-SkriptsStandard-Ausgabe eines CGI-Skripts

3 Interaktion3 / 27 Serverseitige Scriptsprachen Anwendungsprogramm wird vom Browser (Client) über den Server auf dem Serverrechner aktiviert und dort ausgeführt Anwendungsprogramm wird vom Browser (Client) über den Server auf dem Serverrechner aktiviert und dort ausgeführt Verarbeitungsergebnisse werden als dynamisch generiertes HTML-Dokument an den Client zurück gegeben Verarbeitungsergebnisse werden als dynamisch generiertes HTML-Dokument an den Client zurück gegeben  Standardschnittstelle : CGI-Interface Anwendungsprogramme auf Serverseite können in beliebiger Programmiersprache erstellt werden Anwendungsprogramme auf Serverseite können in beliebiger Programmiersprache erstellt werden

4 Interaktion4 / 27 Perl / PHP Perl umfangreiche Scriptsprache, eingesetzt in diversen Bereichen: z.B. Biotechnologie, Finanz-Software, Betriebssystem-Administration und eben Web- Entwicklung. umfangreiche Scriptsprache, eingesetzt in diversen Bereichen: z.B. Biotechnologie, Finanz-Software, Betriebssystem-Administration und eben Web- Entwicklung. CGI-Interfaces in 90% aller Fälle in Perl programmiert CGI-Interfaces in 90% aller Fälle in Perl programmiertPHP Newcomer: angetreten, um speziell die Bedürfnisse von Web-Programmierern zu befriedigen Newcomer: angetreten, um speziell die Bedürfnisse von Web-Programmierern zu befriedigen

5 Interaktion5 / 27 Perl oder PHP??? persönliche Vorliebe entscheidend persönliche Vorliebe entscheidend kaum prinzipielle Unterschiede zwischen der Syntax bzw. Grammatik beider Sprachen kaum prinzipielle Unterschiede zwischen der Syntax bzw. Grammatik beider Sprachen PerlPHP  Perl mit sofort anwendbaren Modulen Modulen  gutes Datenbankmodul Einfachheit von PHP  viele Funktionen sind direkt in den PHP-Kern integriert PHP-Kern integriert  übersichtlicher als Perl-Scripts  PHP direkt in HTML-Code einbindbar einbindbar

6 Interaktion6 / 27 ASP stammt von Microsoft  auf Windows-Einsatz beschränkt. stammt von Microsoft  auf Windows-Einsatz beschränkt. Besonderheit: ASP ist keine Programmiersprache, Besonderheit: ASP ist keine Programmiersprache, sondern eine “Programmierumgebung“ JScript und VBScript um ASP-Anwendungen zu realisieren. JScript und VBScript um ASP-Anwendungen zu realisieren. Ab ASP.NET auch mit Visual Basic, C++ und C# realisierbar Ab ASP.NET auch mit Visual Basic, C++ und C# realisierbar

7 Interaktion7 / 27 Python/Tcl eignen sich auch für Web-Scripting eignen sich auch für Web-Scripting jedoch nicht so ausgereiftjedoch nicht so ausgereift Objektorientierte Sprachen Objektorientierte Sprachen Python  Erweiterbarkeit Python  Erweiterbarkeit Tcl  einfache Syntax Tcl  einfache Syntax

8 Interaktion8 / 27 Common Gateway Interface - CGI Protokoll, welches einem Webserver gestattet, Daten eines Browser-Requests an ein externes Programm weiterzugeben Protokoll, welches einem Webserver gestattet, Daten eines Browser-Requests an ein externes Programm weiterzugeben

9 Interaktion9 / 27 Common Gateway Interface – CGI HTML-Dokumente können statisch, d.h. bereits vorgefertigt und auf Abruf am Server abgespeichert vorliegen oder dynamisch erzeugt werden HTML-Dokumente können statisch, d.h. bereits vorgefertigt und auf Abruf am Server abgespeichert vorliegen oder dynamisch erzeugt werden vom Browser angefragte HTML-Dokument wird erst auf Anfrage hin erzeugt. vom Browser angefragte HTML-Dokument wird erst auf Anfrage hin erzeugt. z.B. Warenkataloge (amazon.de) z.B. Warenkataloge (amazon.de) Suchmaschinen (google.de) Zeitungen (heise.de)

10 Interaktion10 / 27 Common Gateway Interface – CGI Statisches HTML

11 Interaktion11 / 27 Common Gateway Interface – CGI Dynamisches HTML

12 Interaktion12 / 27 Common Gateway Interface – CGI Dynamisches HTML WWW-Server bietet Standard-Schnittstelle für serverseitige Programme, mit deren Hilfe das dynamische HTML-Dokument erzeugt wird WWW-Server bietet Standard-Schnittstelle für serverseitige Programme, mit deren Hilfe das dynamische HTML-Dokument erzeugt wird zur Steuerung der Anwendungsprogramme auf dem WWW-Server müssen Parameter übergeben werden können zur Steuerung der Anwendungsprogramme auf dem WWW-Server müssen Parameter übergeben werden können

13 Interaktion13 / 27 Common Gateway Interface – CGI Dynamisches HTML Bsp.: Ausfüllen und Abschicken eines HTML-Formulars Bsp.: Ausfüllen und Abschicken eines HTML-Formulars

14 Interaktion14 / 27 Methode “Get“ Daten des ausgefüllten Formulars werden an die URL-Angabe angehängt Daten des ausgefüllten Formulars werden an die URL-Angabe angehängt  (URL-Encoding) URL-Encoding Server schreibt Daten in QUERY_STRING Server schreibt Daten in QUERY_STRING CGI-Programm muß Inhalt der Umgebungsvariablen auslesen und verarbeiten. CGI-Programm muß Inhalt der Umgebungsvariablen auslesen und verarbeiten.

15 Interaktion15 / 27 Methode “Get“

16 Interaktion16 / 27 Methode “POST“ Daten des ausgefüllten Formulars werden als eigenständiger Datenstrom an den Server-Rechner gesandt. Daten des ausgefüllten Formulars werden als eigenständiger Datenstrom an den Server-Rechner gesandt. Server stellt Daten dem CGI-Programm über Standardeingabe "stdin" bereit Server stellt Daten dem CGI-Programm über Standardeingabe "stdin" bereit Skript muß die Daten wie eine Benutzereingabe behandeln, die auf der Kommandozeile gemacht wurde. Skript muß die Daten wie eine Benutzereingabe behandeln, die auf der Kommandozeile gemacht wurde. kein EndOfFile-Signal (EOF) gesendet kein EndOfFile-Signal (EOF) gesendet  Auslesen der CONTENT_LENGTH Variable, um die Länge der übermittelten Daten und damit um die Länge der übermittelten Daten und damit deren Ende zu ermitteln. deren Ende zu ermitteln.

17 Interaktion17 / 27 Methode “POST“

18 Interaktion18 / 27 Common Gateway Interface – CGI Methoden GET und POST im HTML-Formular Informationssammlung über Nutzer und Daten via Umgebungsvariablen GETPost Daten werden inServer leitet Daten direkt an - QUERY_STRING Standardeingabe des - CONTENT_TYPE CGI – Programms weiter - CONTENT_LENGTH geschrieben.

19 Interaktion19 / 27 Common Gateway Interface – CGI Zusammenfassung der Methoden GET und POST GETPost Formulareingaben werden an Formulareingaben werden an den im action-Attribut den im action-Attribut angegebenen URL hinter einem angegebenen URL hinter einem „?“ angehängt. „?“ angehängt. HTTP-Server übergibt dem CGI- HTTP-Server übergibt dem CGI- Programm die übergebenen Programm die übergebenen Formulardaten in der Formulardaten in der Umgebungsvariablen Umgebungsvariablen QUERY_STRING. QUERY_STRING. Initiierung eines direkten HTTP- Initiierung eines direkten HTTP- Requests an den im action- Requests an den im action- Attribut angegebenen URL Attribut angegebenen URL Formulardatenübergabe in Formulardatenübergabe in Body des HTTP-Requests Body des HTTP-Requests Body des HTTP-Requests wird Body des HTTP-Requests wird dem CGI-Programm über die dem CGI-Programm über die Standardeingabe zur Verfügung Standardeingabe zur Verfügung gestellt. gestellt.

20 Interaktion20 / 27 Standardausgabe

21 Interaktion21 / 27 Beispiel WEB / DB Anbindung über CGI

22 Interaktion22 / 27 Umgebungsvariablen CGI-Script wird auf Server ausgeführt CGI-Script wird auf Server ausgeführt  CGI-Umgebung stellt Informationen über die Umgebung bereit (  Umgebungsvariablen) Je nach Betriebssystem, Server- und Client- Software können die Umgebungsvariablen variieren Je nach Betriebssystem, Server- und Client- Software können die Umgebungsvariablen variieren

23 Interaktion23 / 27 Umgebungsvariablen – Ausgabe 1 #!/usr/bin/perl print "Content-type:text/html\n\n"; print "Content-type:text/html\n\n"; foreach (keys(%ENV)) foreach (keys(%ENV)){ print "Der Schlüssel ist $_ und der Wert ist $ENV{$_}"; } Aufruf:http:// /cgi-bin/name_des_skriptes.pl.

24 Interaktion24 / 27 Umgebungsvariablen – Ausgabe 2 #!/usr/bin/perl print "Content-type:text/html\n\n"; print "$ENV{DOCUMENT_ROOT} \n"; print "$ENV{REMOTE_ADRESS} \n"; print "$ENV{QUERY_STRING} \n"; Aufruf:http:// /cgi-bin/name_des_skriptes.pl.

25 Interaktion25 / 27 Umgebungsvariablen - Ausgabe QUERY_STRING: leer, da keine Userangaben QUERY_STRING: leer, da keine Userangaben übermittelt wurden DOCUMENT_ROOT:Root Verzeichnis des HTTP DOCUMENT_ROOT:Root Verzeichnis des HTTPServers z.B.: bei Apache c:/apache/htdocs. REQUEST_METHOD: Übertragungsmethode der Formulareingaben (get/Post) REQUEST_METHOD: Übertragungsmethode der Formulareingaben (get/Post) REMOTE_ADRESS:zeigt IP des aufrufenden Rechners. REMOTE_ADRESS:zeigt IP des aufrufenden Rechners. CONTENT_LENGTH: Länge des QUERY_STRINGS CONTENT_LENGTH: Länge des QUERY_STRINGS HTTP_USER_AGENT:gibt den Browsertyp an. HTTP_USER_AGENT:gibt den Browsertyp an.

26 Interaktion26 / 27 CGI - Vorteile Webdokumente werden dynamisch zur Anfangszeit erstellt Webdokumente werden dynamisch zur Anfangszeit erstellt CGI - Programmierung stellt eine schnelle und flexible Möglichkeit zur Web/DB Anbindung CGI - Programmierung stellt eine schnelle und flexible Möglichkeit zur Web/DB Anbindung Unabhängigkeit von der eingesetzten Programmiersprache Unabhängigkeit von der eingesetzten Programmiersprache Möglichkeit der Verwendung beliebiger Web-Servers / Datenbanken Möglichkeit der Verwendung beliebiger Web-Servers / Datenbanken

27 Interaktion27 / 27 Quellen “Architektur von Webinformationssystemen“ - Gerti Kappel, Werner Retschitzegger, Birgit Pröll, Rainer Unland, Bahram Vojdani


Herunterladen ppt "Interaktion Jens Harnisch, Timo Harm TIT05BGR. 25.06.2015Interaktion2 / 27 Übersicht Serverseitige WWW-Programmierung Serverseitige WWW-Programmierung."

Ähnliche Präsentationen


Google-Anzeigen