Dynamische Webseiten



Ähnliche Dokumente
Einführung in die Scriptsprache PHP

Online-Publishing mit HTML und CSS für Einsteigerinnen

Herzlich willkommen im Modul Web-Engineering

Datenbank-basierte Webserver

Einführung in PHP. (mit Aufgaben)

php Hier soll ein Überblick über das Erstellen von php Programmen gegeben werden. Inhaltsverzeichnis 1.Überblick Parameterübergabe...

Tutorial. In diesem Tutorial möchte ich die Möglichkeiten einer mehrspracheigen Web-Site erläutern.

Sicherheit in Webanwendungen CrossSite, Session und SQL

8. Workshop - Internetarchivierung

HTML Formulare. Benutzerschnittstelle für interaktive Webseiten

DATENFORMATE IM INTERNET

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Installation des CMS-Systems Contao auf einem Windows-Rechner mit XAMPP

ESB - Elektronischer Service Bericht

Erstellen eigener HTML Seiten auf ewon

Herzlich willkommen im Modul Informatik Grundlagen

Konfiguration des Internet Explorers 8

Einführung in die Skriptsprache PHP

Content-Management- Systeme (CMS) Inhaltsverwaltungssystem, Redaktionssystem

IT-Zertifikat: Allgemeine Informationstechnologien II PHP

Kommunikationsnetze. 7. Das World Wide Web 7.4 Client- vs. Server-basierte Techniken für dynamische Webseiten

Konfiguration des Internet Explorers 7

Zugriff auf Daten der Wago über eine Webseite

Java Webentwicklung (mit JSP)

Proseminar: Website-Management-Systeme

FTP Tutorial. Das File Transfer Protocol dient dem Webmaster dazu eigene Dateien wie z.b. die geschriebene Webseite auf den Webserver zu laden.

5. Übung: PHP-Grundlagen

Web-Modul in Lightroom 5. Stefan Sporrer

Programmieren 2 (Prof. Hasbargen) Klausur

crm-now/ps Webforms Webdesigner Handbuch Erste Ausgabe

Schiller-Gymnasium Hof

ARAkoll 2013 Dokumentation. Datum:

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

HTTP-Server. Frank Wübbeling Universität Münster

CSS-Grundlagen. Etwas über Browser. Kapitel. Die Vorbereitung

Technische Anforderungen. zum Empfang. von XML-Nachrichten

Wordpress: Blogbeiträge richtig löschen, archivieren und weiterleiten

Einleitung: Frontend Backend

Wählen Sie bitte START EINSTELLUNGEN SYSTEMSTEUERUNG VERWALTUNG und Sie erhalten unter Windows 2000 die folgende Darstellung:

TYPO3 Slide Lightwerk GmbH

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 4 PHP

Ihr CMS für die eigene Facebook Page - 1

HTML5. Wie funktioniert HTML5? Tags: Attribute:

Session Management und Cookies

1 Einleitung. 1.1 Caching von Webanwendungen Clientseites Caching

Leitfaden zur Nutzung von binder CryptShare

mysql - Clients MySQL - Abfragen eine serverbasierenden Datenbank

Step by Step Webserver unter Windows Server von Christian Bartl

Sicherheit QUALITÄTSSICHERUNG DESIGNER24.CH V 1.2. ADRESSE Designer24.ch Web Print Development Postfach Turbenthal Schweiz

Reservierungs-Assistent

DYNAMISCHE SEITEN. Warum Scriptsprachen? Stand: CF Carola Fichtner Web-Consulting

Klausurteilnehmer. Wichtige Hinweise. Note: Klausur Informatik Programmierung, Seite 1 von 8 HS OWL, FB 7, Malte Wattenberg.

Internetanbindung von Datenbanken

Erstellung botoptimierter Partnerlinks

Administrator Handbuch

Das von MTS-Italia entwickelte Content Management System mit 1:1 seekda Integration.

Internet und WWW Übungen

EasyWk DAS Schwimmwettkampfprogramm

Webseiten und Web-Apps grafisch gestalten mit HTML5 Canvas ohne Flash und sonstige Tools

Backend

A361 Web-Server. IKT-Standard. Ausgabedatum: Version: Ersetzt: Genehmigt durch: Informatiksteuerungsorgan Bund, am

InfoPoint vom 9. November 2011

PHP-Schwachstellen und deren Ausnutzung

WEBAPPLIKATIONEN MIT PHP. Wo gibt es Hilfe? Wie fang ich an?

«Integration in WebSite» HTML-/Javascript-Code-Beispiele

Updatehinweise für die Version forma 5.5.5

Datenbanksysteme SS 2007

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Schwachstellenanalyse 2012

Man liest sich: POP3/IMAP

Einführung in das redaktionelle Arbeiten mit Typo3 Schulung am 15. und

Wie funktioniert das WWW? Sicher im WWW

TechNote. Produkt: TWINFAX 7.0 (ab CD_24), TWINFAX 6.0 Modul: SMTP, T611, R3 Kurzbeschreibung: Briefpapier- und Mailbodyunterstützung

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Wie man als Redakteur Effektiv arbeitet. Einführung in TYPO3

Powermanager Server- Client- Installation

Web-basierte Benutzerschnittstellen für Embedded Systeme: Eine Benutzerschnittstelle drei Sichtweisen

Angreifbarkeit von Webapplikationen

1. Konfiguration Outlook 2007 MAPI (mit Autodiscover).

Session Beans & Servlet Integration. Ralf Gitzel ralf_gitzel@hotmail.de

12.3 Mit ein wenig HTML erstellen Sie eine fast dynamische Datenquelle

Einführung in das Web Content Management System (CMS) Typo3

WordPress installieren mit Webhosting

Step by Step Remotedesktopfreigabe unter Windows Server von Christian Bartl

PHP Kurs Online Kurs Analysten Programmierer Web PHP

FileMaker Go 13 ohne Connects

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Plugins. Stefan Salich Stand

Apache HTTP-Server Teil 2

E-Learning-Content. E-Learning-Content wird von vielen Hochschullehrern in unterschiedlichstem Umfeld hergestellt

Anbindung des eibport an das Internet

Datenübernahme easyjob 3.0 zu easyjob 4.0

Pädagogische Hochschule Thurgau. Lehre Weiterbildung Forschung

Adminer: Installationsanleitung

Multivariate Tests mit Google Analytics

Einrichtung Secure-FTP

TREND SEARCH VISUALISIERUNG. von Ricardo Gantschew btk Berlin Dozent / Till Nagel

Transkript:

Dynamische Webseiten Seminar Medientechnik 30.06.2003 Dynamische Webseiten 1 Inhalt Allgemeine Funktionsweise eines Webservers Grundgedanke von dynamischen Webseiten Einschub: Dynamische Seitenerzeugung auf der Client-Seite Verschiedene Ansätze / Techniken für dynamische Webseiten Webseiten mit Datenbankanbindung Content Management, Redaktionssysteme Dynamische Webseiten 2

Allgemeine Funktionsweise eines Webservers Der Client (i.d.r. ein Browser) schickt übers Internet eine Anfrage an den Webserver: http://www.server.com/ordner/dateiname.htm Der Server (server.com) schickt das geforderte Dokument (/ordner/dateiname.htm) an die IP-Adresse des Client Die Verbindung zwischen Server und Client wird geschlossen Das Dokument ist beim Client im Speicher und kann von dort gelesen werden Probleme: - Statisches System -> der Benutzer kann nicht einbezogen werden, jeder bekommt die immer gleiche Seite zu Gesicht. - Keine echte Interaktion möglich - Aktualisierung der Seite sehr umständlich Dynamische Webseiten 3 Grundgedanke von dynamischen Webseiten Webserver Client (Browser) Anfrage: dyn.php dyn.php (interpretiert) dyn.php HTML-Code Parser (PHP) Die Auswertung und Erstellung der Seite findet komplett auf dem Server statt Der Client bekommt weiterhin nur statischen HTML-Code zu Gesicht Prinzip: Dokumente werden vom Webserver erst zum Zeitpunkt der Anfrage aus zusätzlichen Anfragedaten (vom Client), oder anderen externen Informationen (z.b. Datenbank), dynamisch erstellt. Dynamische Webseiten 4

Grundgedanke von dynamischen Webseiten Der Client kann mit der Anfrage zusätzliche Daten schicken: Cookies (beim Client unsichtbar gespeichert, automatisch vom Browser verschickt) Übergabe von Variablen in der URL ( GET ) http://www.server.com/ordner/dyn.php?name=superdau Übergabe von Daten durch ein POST -Formular Der Server kann diese Daten abfragen und daraus dynamisch eine Seite bauen. Beispiel (PHP-Syntax): Anfrage: dyn.php?name=superdau <?= $name?> Parser superdau Webserver Browser (Client) superdau Dynamische Webseiten 5 Grundgedanke von dynamischen Webseiten Auf dem Server liegt keine statische Datei mehr, sondern im Idealfall eine Seitenbeschreibung ohne Inhalt. Abhängig von verschiedenen möglichen Datenquellen (je nach Anwendung) wird die Seite erzeugt und an den Client als statisches Dokument geschickt Mögliche externe Datenquellen: Datenübergabe vom Client durch ein Formular Beim Client gespeicherte Cookies Diverse Daten aus einer HTTP-Anfrage, z.b. IP-Adresse des Client (ermöglicht z.t. lokalisierung des Users -> regionale Seite) Daten aus einer Datenbank Umgebungsdaten wie Uhrzeit, Serverauslastung, etc.. Alle weiteren vom Webserver aus zugänglichen Daten (beliebig viele) Vorteil: Programmcode ist nicht öffentlich zugänglich - der User bekommt nur die Ausgabe des Programms zu Gesicht Dynamische Webseiten 6

Einschub: Dynamische Seitenerzeugung auf der Client-Seite Es gibt auch Ansätze, eine Seite auf der Clientseite dynamisch zu erzeugen: DHTML (= Dynamic HTML -> Erweiterung von HTML durch Javascript und CSS ) <script> var ctime = new Date(); var cyear = ctime.getyear(); document.write(ctime); </script> 2003 Mit Javascript lassen sich z.b. Cookies schreiben und lesen - auf diese Weise lässt sich z.b. ein kompletter Online-Shop realisieren. Dynamische Art der Darstellung durch externe CSS-Definitionen Achtung: Dieser Ansatz fällt nicht unter den Begriff Dynamische Webseiten - strenggenommen sind alle DHTML-Seiten nur statische Dokumente Der (immer gleiche) Programmcode wird komplett zum Client übertragen und dort ausgeführt Dynamische Webseiten 7 Einschub: Dynamische Seitenerzeugung auf der Client-Seite Vorteile: Es muss keine Verbindung zum Server aufgebaut werden Berechnungen können auf dem Client ausgeführt werden Eingabefehler können abgefangen werden, bevor Daten zum Server übermittelt werden Einsparung von unnötiger Client-Server Kommunikation Geringere Server-Auslastung (Traffic, sowie Rechenzeit) Schnellere Ausführung Unmittelbare Veränderungen auf der Webseite (nach einer User- Interaktion) sind nur durch dynamischen Code auf der Client-Seite möglich - abgesehen von Applets oder Plugins, sind solche Interaktionen nur mit DHTML möglich In der Praxis kommt oft eine Kombination zum Einsatz - die Seite wird sowohl beim Server als auch beim Client dynamisch erzeugt, d.h. der vom Server dynamisch erzeugte Code enthält noch Teile, die erst beim Client ausgewertet werden (können,sollen,dürfen) Nachteil: Der Quellcode wird offen, also von jedem les- und kopierbar zum Client geschickt Dynamische Webseiten 8

Verschiedene Ansätze / Techniken für dynamische Webseiten Unterscheidung zwischen CGI und sog. Serverpages CGI => Common Gateway Interface Eine Schnittstelle des Webservers zum Aufruf beliebiger externer Programme Das Programm muss als Rückgabe, eine komplette gültige HTML-Seite liefern Serverpages Programmcode wird direkt in die HTML-Seite eingebunden #!/usr/bin/perl CGI (Perl) %in = &mycgi::getdata (); print "Content-type: text/html\n\n"; print ""; print ""; print $in{'name'}; print ""; print ""; Serverpages (PHP) <?= $name?> Dynamische Webseiten 9 Ansätze für dyn. Webseiten - CGI Über die CGI-Schnittstelle kann ein beliebiges Programm auf dem Server aufgerufen werden, dass allerdings eine gültige HTTP-Antwort (meistens ein HTML-Dokument mit(!) HTTP- Header) zurückliefern muss Sehr verbreitet ist die Skript-Sprache PERL, daher spricht man oft von CGI-Skripts. Bei größeren Webseiten mit viel Rechenaufwand (Routenplaner, Suchmaschine) kommen allerdings nur vorkompilierte Programme zum Einsatz Bei vielen Skriptsprachen wie PERL oder Python existiert auch ein Ansatz diese Sprachen als Serverpages zu verwenden (Embedded Perl, Python Server Pages), oder aber spezielle Web-Funktionen, die die Handhabung wesentlich vereinfachen (z.b. bei PERL das Modul CGI.pm) Dynamische Webseiten 10

Ansätze für dyn. Webseiten - Serverpages SSI - Server Side Includes PHP - Hypertest Preprocessor ASP - Active Server Pages (Microsoft) JSP - JavaServer Pages Dynamische Webseiten 11 Ansätze für dyn. Webseiten - SSI Einfachste Stufe von dynamischen Webseiten Sehr geringer Funktionsumfang <-> sehr schnell Du bist der <!--#exec cgi="/cgi-bin/counter.cgi" -->. Besucher Letzte Änderung: <!--#if "10"!= "20" echo var="last_modified" --> <!--#include file="footer.html" --> Du bist der 10. Besucher Letzte Änderung: Fri Jul 21 21:24:48 1995 2003 by Mr. Nobody Kann von Sprachen wie PHP, ASP oder JSP vollständig ersetzt werden Dynamische Webseiten 12

Ansätze für dyn. Webseiten - PHP Begann 1995 als 'Personal Home Page Tools' - eine Zusammenstellung von Perl-Skripts Entwicklung zu einer in C geschriebenen Hypertext- Preprocessing-Engine. Mitte 2000 wurde Version 4.0 veröffentlicht PHP ermöglicht die Entwicklung komplexer Anwendungen, ist leicht erweiterbar und bietet Unterstützung für viele Datenbanken, Protokolle und APIs Speziell für den Web-Einsatz zugeschnitten, alle nicht programmspezifischen Dinge übernimmt PHP automatisch Leicht erlernbar Ab Version 4.0 sehr schnelle Verarbeitung Dynamische Webseiten 13 Ansätze für dyn. Webseiten - PHP Viele Standardaufgaben werden von PHP automatisch übernommen (-> der Programmierer kann sich auf sein Programm konzentrieren). Beispiele: Setzen und Auslesen von Cookies: setcookie("mycookie",$value) Viele Funktionen, für Standardaufgaben in der Web-Entwicklung, z.b. $string = strip_tags($string, '<a><b><i><u>'); => entfernt alle HTML-Tags aus einem String, außer die angegeben Automatisches Auslesen der vom User übermittelten Daten Speicherung von übermittelten Dateien Integration von verschiedenen Datenbanken Unterstützung zum Schreiben von vielen Formaten: JPEG GIF PDF Flash (endlose) Erweiterungen, z.b. eingebaute Funktionen für verschiedenste Protokolle (FTP, POP3, IMAP) Dynamische Webseiten 14

Webseiten mit Datenbankanbindung Bei vielen Web-Anwendungen ist eine Datenbank unerlässlich Am weitesten verbreitet bei kleinen bis mittelgroßen Projekten ist die freie Datenbank MySQL Beispiel einer Datenbankanfrage in PHP: <? db_connect();?> <table><tr><td>name</td><td>vorname</td><td>gt</td></tr> <? $result = mysql_query("select * FROM users"); while ($db_user = mysql_fetch_array($result)) { print "<tr>"; print "<td>$db_user[name]</td>"; print "<td>$db_user[vorname]</td>"; print "<td>$db_user[geburtstag]</td>"; print "</tr>"; }?> </table> Browserdarstellung Name Vorname Franz Schmidt Otto Meyer Muster Mann GT 20.03.1932 30.03.1959 01.01.2001 Dynamische Webseiten 15 Content Management, Redaktionssysteme Die Verwendung von Datenbanken bei Webseiten ermöglicht den Einsatz sog. Content-Management-Systeme (CMS) Der Inhalt einer Seite ist dabei nicht mehr im HTML-Dokument festgelegt, sondern wird in einer Datenbank abgelegt - die HTML-Datei definiert nur noch die Art der Darstellung. Auf diese Weise lassen sich Änderungen an einer Webseite schnell vollziehen, ohne dass man irgendwelche Dateien ändern müsste. Ein CMS braucht dann aber noch ein sog. Backend, dass für den Webmaster, bzw. die Redakteure zugänglich ist, um Änderungen an der Datenbank vorzunehmen Frontend (Browser) Anfrage Webserver Parser Datenbank Backend (Redakteur) Dynamische Webseiten 16