Basis-, Mehrwert-und Metainformationsdienste Kurs 17.5.2001 (Konstanz) / 22.6.2001 (Berlin) Dozent: Dr. Bernard Bekavac



Ähnliche Dokumente
Basis-, Mehrwert-und Metainformationsdienste Kurs (Konstanz) / (Berlin) Dozent: Dr. Bernard Bekavac

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

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

Online-Publishing mit HTML und CSS für Einsteigerinnen

Applications Applets (eingeschränkte Rechte)

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

Einführung Internettechnologien. - Clientseitige Programmierung -

IAC-Programmierung HELP.BCFESITSIACPROG. Release 4.6C

Internetanbindung von Datenbanken

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

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

Applets Belebung von Webseiten. Dipl.-Ing. Wolfgang Beer

easylearn Systemvoraussetzungen

Anwendungsprotokolle: HTTP, POP, SMTP

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

Adressen der BA Leipzig

Applets I. Grundlagen der g Applet-Programmierung

Java zur Realisierung von Internetanwendungen

Sicherheit in Rich Internet Applications

Programmieren 2 (Prof. Hasbargen) Klausur

Datenbank-basierte Webserver

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

ObjectBridge Java Edition

Herzlich willkommen im Modul Web-Engineering

GEONET Anleitung für Web-Autoren

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Secure Network Communications (BC-SEC-SNC)

Step by Step Webserver unter Windows Server von Christian Bartl

André Maurer Wirtschaftsinformatik FH 3.5 Fachhochschule Solothurn, Olten

Python CGI-Skripte erstellen

Existierende Systeme I Bibliotheken & Frameworks

Web Visu Tutorial. Hipecs Web Visu. Übersicht

PPS-Design einer eigenen WWW-Homepage WS 2002/2003. Anforderungen an eine Webseite

Vordefinierte Elemente (CI)

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Einrichtung Secure-FTP

Seminar SS 2000 Enterprise Application Intergration

Einführung in PHP. (mit Aufgaben)

Internet und WWW Übungen

COSA. Portal Client Installation JAVA J2SE / JRE Version 1.4.2_09, Stand Copyright

Anbindung des eibport an das Internet

Praktikum: Einstieg: Arbeitsplatz, JCreator

Universal Dashboard auf ewon Alarmübersicht auf ewon eigener HTML Seite.

Janitos Maklerportal. Mögliche Probleme und Fragen:

ARCHITEKTUR VON INFORMATIONSSYSTEMEN

Plunet BusinessManager. Technische Anforderungen

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Copyright by HMS GmbH. All rights reserved.

Um über FTP Dateien auf Ihren Public Space Server - Zugang laden zu können benötigen Sie folgende Angaben:

Systemvoraussetzungen

Schwachstellenanalyse 2012

Technische Anforderungen. zum Empfang. von XML-Nachrichten

Einführung in die Scriptsprache PHP

estos UCServer Multiline TAPI Driver

Publizieren von Webs mit SmartFTP

PHP-Schwachstellen und deren Ausnutzung

Die aktuelle Version des SPIEGEL-Bestseller-Widgets können Sie auf unserer Website unter Entwicklertools herunterladen.

12. Kieler OpenSource und Linux Tage. Wie funktioniert eigentlich Mail? , Frank Agerholm, Linux User Group Flensburg e.v.

Übersicht. Was ist FTP? Übertragungsmodi. Sicherheit. Öffentliche FTP-Server. FTP-Software

Herstellung der Verbindung mit einem FTP-Programm

Einleitung. Funktion. Panzenböck Phillipp. Download Installation. Testen. Konfiguration

Konfiguration von Igel ThinClients fu r den Zugriff via Netscaler Gateway auf eine Storefront/ XenDesktop 7 Umgebung

Herzlich Willkommen! eine praxisnahe Übersicht. Mit Java ins Web - mb@bebox.franken.de (c) Michael Behrendt -

Planung für Organisation und Technik

Web Sockets mit HTML5. Quelle:

Perceptive Document Composition

HOB WebSecureProxy Universal Client

Proseminar: Website-Management-Systeme

1 Konfigurationsanleitung Hosted Exchange

Herzlich willkommen im Modul Informatik Grundlagen

iphone 4 - Einrichtung des VPN Clients (Cisco VPN Client) / Verbinden des iphones mit einem Exchange

OS IDE Webserver Integration des Webservers in die IDE Wireshark Webserver II Dynamisches Webprojekt in Eclipse

OWASP Stammtisch München Sep 2014 XSS und andere Sicherheitslücken aus der Perspektive des Programmcodes

Xampp-Installation und Konfiguration. Stefan Maihack Dipl. Ing. (FH) Datum:

SIZ Modul 221: Outlook und Internetdienste

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

Multimedia im Netz Wintersemester 2011/12

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Installationsanleitung für pcvisit Server (pcvisit 12.0)

EXCHANGE Neuerungen und Praxis

Whitepaper. Produkt: List & Label 16. List & Label 16 unter Linux/Wine. combit GmbH Untere Laube Konstanz

Musterlösung für Schulen in Baden-Württemberg. Windows Basiskurs Windows-Musterlösung. Version 3. Stand:

Anleitung zum Prüfen von WebDAV

Hardware- und Softwareanforderungen für die Installation von California.pro

Unified Communication Client Installation Guide

OP-LOG

Installation der SAS Foundation Software auf Windows

ecaros-update 8.2 Update 8.2 procar informatik AG 1 Stand: DP 02/2014 Eschenweg Weiterstadt

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Konfiguration des Novell GroupWise Connectors

Java - Webapplikationen

START - SYSTEMSTEUERUNG - SYSTEM - REMOTE

Dynamische Webanwendungen

Dynamik bis zur DB-Interaktion. Marc Schanne. CGI Möglichkeiten

Grundlagen der Programmierung APPLETS

Browser mit SSL und Java, welcher auf praktisch jedem Rechner ebenso wie auf vielen mobilen Geräten bereits vorhanden ist

HOB RD VPN Web Server Gate

Backup der Progress Datenbank

Transkript:

Basis-, Mehrwert-und Metainformationsdienste Kurs 17.5.2001 (Konstanz) / 22.6.2001 (Berlin) Dozent: Dr. Bernard Bekavac 1 Mehrwertdienst: WWW Web-Technologien II Web-Technologien II Übersicht 2 HTTP-Server CGI Java / JavaScript Weitere Programmierumgebungen

Web-Technologien II: Server HTTP-Server 3 Verwaltet die vorhandene Dokumentenmenge (HTML, Grafik, sonstige Formate) Zuordnung URL - Dokument - content type Gateway zu Anwendungen / Datenbanken (CGI, Servlets, ASP usw.) Erzeugung dynamischer Dokumente (SSI) Zugriffsbeschränkung und Sicherheitsmechanismen Umleitung von Anfragen (Redirection) Protokollierung Web-Technologien II: Server Dokumentenverwaltung - Virtuelle Verzeichnisse 4 HTTP- Request URL-path Type HTML CGI Servlet URL access-info File Exec Java Virtuelle Verzeichnisse Servlet HTML Verzeichnis / Laufwerke CGI

Web-Technologien II: Server Zugriffsbeschränkung 5 Über das virtuelle Verzeichnis CGI Benutzer1 Passwort1 Benutzer1 Benutzer1 Passwort1 Passwort1 Benutzer2 Paßwort2... Type HTML CGI Servlet access-info File Exec Java HTML Servlet Über Zugriffsrechte der Verzeichnisse / Dateien (Betriebssystem-abhängig) Web-Technologien II: Server Sicherheitsmechanismen - Firewall 6 Internet Firewall-Rechner Filterung von von Anfragen (extern // intern) über über Zuordnung: IP1 IP1 IP2 IP3 Type HTML CGI Servlet access File Exec Java Filterung von von internen Anfragen nach nach außen über über Domain-Namen (Proxy-Server) IP4 IP1 IP3 IP2

Web-Technologien II: Server Sicherheitsmechanismen - S-HTTP Eine mit Sicherheitsfunktionen erweiterte Variante von HTTP 7 Server/Client-basiert Authentifikation Serverzertifikate Dokumentbasiert Digitale Signatur Verschlüsselung (public key) Hypertext HTML HTTP S-HTTP Transport Vermittlung Sicherung Bitübertragung WWW TCP, UDP IP Subnetzwerk Web-Technologien II: Server Sicherheitsmechanismen - SSL 8 Secure Sockets Layer (SSL) sichert eine Verbindung auf Socket-Ebene (Ports) Diensteunabhängig Standardport 443 bei HTTP Hypertext HTML WWW Verschlüsselung und Nachrichtenintegrität der Client/Server Kommunikation Server-Authentifizierung HTTP SSL Transport Vermittlung Sicherung Bitübertragung TCP, UDP IP Subnetzwerk

Web-Technologien II: Server Sicherheitsmechanismen - S-HTTP & SSL 9 HTTP S-HTTP Zertifikat SSL (443) Web-Technologien II: Server Redirection 10 HTTP- Request URL Redirection? Y N URL-path Redirection URL Type access-info Internet URL x URL y URL 1 URL 2 HTML CGI File Exec......... Servlet Java

Web-Technologien II: Server Protokollierung 11 Zugriffsprotokollierung im Common Logfile Format remotehost remoteident authuser [date] request status bytes remotehost remoteident authuser [date] request status bytes Logdatei remotehost remoteident authuser [date] request status bytes Hostname / IP des Client Identifizierung des Client (IDENT) Benutzername (falls vorhanden) Datum / Uhrzeit der Anfrage HTTP-Method und URL HTTP-Response Code Größe des HTTP-Response-Body Web-Technologien II: Server HTTP-Steuerung HTTP-Response des Servers kann zum Teil auch über META-Tags des angeforderten HTML- Dokuments gesteuert werden: <META HTTP-EQUIV=Feldname CONTENT=Inhalt [Attribut=Inhalt]... > 12 Die Handhabung von HTML-Seiten mit diesem META-Tag ist von Server zu Server verschieden (Spezielle Verzeichnisse / -Dateiendungen usw.)

Web-Technologien II: Server Produkte / Hersteller The Apache Group kostenlos NetBSD, Digital, UNIX, BSDI, AIX, OS/2, SCO, HPUX, Windows NT, Linux, FreeBSD, IRIX, Solaris Microsoft kostenlos / Win2000 Windows NT Windows 2000 (incl.) 13 Einschlägige Web-Sites: serverwatch.internet.com, www.netcraft.com Server/ Marktanteil Hersteller Preis BS Apache / 60 % Microsoft / 20 % iplanet / 6 % Sun/Netscape ca. $ 1500,- Diverse Unix- Derivate (Digital, AIX, HP, IBM) Windows NT, IRIX Besondere Features open source, SSI, Java (VM) ASP, Microsoft APIs, ODBC-Schnittstelle, Treiberunterstützung Java (VM), Oracle, Informix support Web-Technologien II Übersicht 14 HTTP-Server CGI Java / JavaScript Weitere Programmierumgebungen

Web-Technologien II: CGI Common Gateway Interface (CGI) 15 Verbindet das Web mit Server-seitigen Anwendungen Daten Ermöglicht das Übergeben von Daten an Server Schnittstellendefinition (Über Umgebungsvariablen) Server-Unterstützung notwendig Programmiersprachen-unabhängig (meist Perl) In der Regel Serverplattform-abhängig Einbindung in HTML über URL Web-Technologien II: CGI CGI-Aufbau 16 Web-Browser HTTP-Request (cgi-url, POST Data) schreiben Umgebungsvariablen EXEC URL-path lesen Std-in: Data Std-out: HTML CGI- Verzeichnis Programm HTTP-Response (HTML-Text) DB

Web-Technologien II: CGI Typische CGI-Umgebungsvariablen 17 Variable server_name request_method path_info script_name content_type content_length query-string Inhalt Server-Name HTTP-Zugriffsmethode Pfadinformationen des Programms Programmname Inhaltskennung Länge der übertragenen Daten Daten bei GET-Methode Web-Technologien II: CGI CGI-Beispiel - HTML-Einbindung 18 <html> <head> <title>kommentarseite</title> </head> <body> <h1>ihr Kommentar</h1> <form action="/cgi-bin/comments.pl" method=post> Name: <input size=40 maxlength=40 name="anwendername"><br> Text: <textarea rows=5 cols=70 name="kommentartext" wrap=virtual> </textarea><p> <input type=submit value="absenden"> </form> </body> </html>

Web-Technologien II: CGI CGI-Beispiel - Server-Programm (Perl) 19 #!/usr/bin/perl read(stdin, $Daten, $ENV{'CONTENT_LENGTH'}); print "Content-type: text/html\n\n"; print "<html><head><title>cgi-feedback</title></head>\n"; print "<body><h1>cgi-feedback vom Programm <i>comments.pl</i></h1>\n"; @Formularfelder = split(/&/, $Daten); foreach $Feld (@Formularfelder) { ($name, $value) = split(/=/, $Feld); $value =~ tr/+/ /; $value =~ s/%([a-fa-f0-9][a-fa-f0-9])/pack("c", hex($1))/eg; $value =~ s/<!--(. \n)*-->//g; $Formular{$name} = $name; $Formular{$value} = $value; print "$Formular{$name} = $Formular{$value}", "<br>\n"; } print "</body></html>\n"; Web-Technologien II: CGI CGI-Nachteile 20 Bei jeder Interaktion wird ein neuer HTTP-Request (CGI) benötigt Bei jedem HTTP-Request (CGI) muß ein eigene Laufzeitumgebung für das entsprechende Programm bereitgestellt werden Das CGI-Programm muß die vollständige Aufbereitung (HTML) der Informationen übernehmen

Web-Technologien II Übersicht 21 HTTP-Server CGI Java / JavaScript Weitere Programmierumgebungen Web-Technologien II: Java Programmiersprache Java 22 Objektorientierte Programmiersprache (entwickelt von Sun Microsystems, JavaSoft) Plattformunabhängig Entwickelt für den Einsatz in Netzwerken Angelehnt an C++, jedoch wesentlich kleiner und einfacher Erzeugt portablen ausführbaren Code (Bytecode)

Web-Technologien II: Java Beispiel einer Java-Anwendung 23 Web-Technologien II: Java Einsatz von Java 24 Es werden folgende Arten von Java-Programmen unterschieden: Applets (Integriert in WWW-Seiten) Werden (automatisch) über Netz übertragen Laufen auf Web-Browsern Eingebunden in HTML-Dokumenten Servlets (ähnlich CGI) Laufen auf Web-Servern Verbinden Internet mit Server-Applications Können mit Applets kommunizieren Applications (Stand-alone-Anwendung) Stärken: Netzkommunikation, Protokoll-Handling, Multimedia

Web-Technologien II: Java Einsatz im Internet / WWW 25 Die Anwendung von Applets wird ermöglicht durch: Plattformunabhängigen Bytecode (Server-Seite) Generierung durch Java-Compiler, Ausführung durch die Java-Virtual Machine Besteht aus einfachen Instruktionen Virtual Machine (Client-Seite) Implementiert auf Zielplattform bzw. WWW-Browser Führt plattformspezifische Anweisungen aus Web-Technologien II: Java Traditionelle Compilierung 26

Web-Technologien II: Java Java-Compilierung 27 Web-Technologien II: Java Eigenschaften der Sprache 28 Einfach Objektorientiert Verteilt Zuverlässig/robust Portabel/architekturneutral Multithreading Dynamisch

Web-Technologien II: Java Sicherheitseigenschaften von Java 29 Eingeschränkter Zugriff auf das System des Zielrechners Kein unerlaubter Zugriff auf Daten des Zielrechners (Lesen, Ändern, Löschen usw.) Keine unerlaubte Kommunikation vom Zielrechner aus (z.b. E-Mail) Keine Ausführung bzw. Auswirkung von fehlerhaften Java-Programmen Schutz gegen Datenverlust am Zielrechner (Systemabsturz) Web-Technologien II: Java Einbinden von Applets in Web-Seiten 30 <APPLET [CODEBASE="Verzeichnis_des_Applets"] CODE="Programmname.class" [ALT="alternativer_Text"] [NAME="Name_des_Applets"] WIDTH=Breite_des_Applets_in_Pixel HEIGHT=Hoehe_des_Applets_in_Pixel [ALIGN=ABSBOTTOM BOTTOM BASELINE TOP TEXTTOP MIDDLE ABSMIDDLE LEFT RIGHT] [VSPACE=vertikaler_Platz_in_Pixel] [HSPACE=horizontaler_Platz_in_Pixel]>

Web-Technologien II: Java Einbinden von Applets in Web-Seiten 31 [<PARAM NAME=Parameter_1 VALUE="Wert_1">] [<PARAM NAME=Parameter_2 VALUE="Wert_2">] [...] [<PARAM NAME=Parameter_n VALUE="Wert_n">]......beliebiger HTML-Text der angezeigt wird,...falls der Browser nicht Java-fähig oder...java im Browser ausgeschaltet ist... </APPLET> Web-Technologien II: Java Java-Beispiel: Applet import java.applet.applet; import java.awt.graphics; public class Simple extends Applet { StringBuffer buffer; public void init() { buffer = new StringBuffer(); additem( Initialisierung... "); } public void start() { additem( Starten des Applets... "); } public void stop() { additem( Stoppen des Applets... "); } 32 public void destroy() { additem ( Entfernen des Applets..."); } void additem(string newword) { System.out.println(newWord); buffer.append(newword); repaint(); } public void paint(graphics g) { //Rechteck zeichnen g.drawrect(0, 0, size().width - 1, size().height - 1); //String ausgeben. g.drawstring(buffer.tostring(), 5, 15); } }

Web-Technologien II: Java Java - Problempunkte 33 Geschwindigkeit (-> Just-In-Time Compiler) Einschränkungen von Applets (-> Signierung) Verbreitung von KnowHow - Bytecode ist lesbar (-> Verschlüsselung) Druckproblem Web-Technologien II: Java Java-Produkte/Umfeld 34 JOE (Java Objekt Environment) - Anbindung von Java an CORBA-Standard JavaBeans - Komponenten für das Internet JDBC (Java Datenbase Connectivity) - Datenbank-API für JAVA NC - Network Computer Java-Hardware (picojava, microjava, ultrajava) Jini - Netzwerkdienst für Endgeräte

Web-Technologien II: JavaScript JavaScript 35 Skript-Sprache innerhalb von HTML-Seiten (Quelltext) - entwickelt von Netscape Skripte werden vom Browser ausgeführt Syntax ähnlich wie bei Java Anwendungsbreite reicht von Plausibilitätsprüfungen bei Formulareingaben über Fenstermanipulation bis zu automatischen Texten Ab Version 1.2 auch auf Server-Seite einsetzbar (ähnlich ASP oder SSI) Web-Technologien II: JavaScript JavaScript vs. Java JavaScript Der WWW-Browser interpretiert den Quelltext zur Laufzeit. Der Quelltext wird also nicht compiliert. Objektbasiert. Das Programm nutzt eingebaute Objekte, jedoch keine Klassen oder Vererbung. Der Quelltext wird in HTML-Quelltext integriert und ist dort vollständig (und nachlesbar) enthalten. Variablen werden nicht explizit deklariert und sind typenlos. 36 Java Der Quelltext wird getrennt compiliert und als ausführbares Programm (Bytecode) auf dem Server abgelegt. Objektorientiert. Objektorientierte Merkmale wie Klassen mit Vererbung stehen zur Verfügung. Die Java-Applets sind getrennt vom HTML-Dokument gespeichert und werden nur von diesem aufgerufen. Variablen müssen vor ihrer Verwendung mit Typangabe deklariert sein.

Web-Technologien II: JavaScript JavaScript-Objekte 37 Web-Technologien II: JavaScript JavaScript-Beispiel 38 <HTML> <HEAD> <SCRIPT LANGUAGE="JavaScript"> <!--- document.write( Das ist ist JavaScript!") // //--> </SCRIPT> <P>...das war ein ein Bsp. mit JavaScript!!! </BODY> </HTML>

Web-Technologien II: JavaScript JavaScript-Beispiel 39 <html> <head> <title>javascript-test</title> <script language="javascript" src="quadrat.js" type="text/javascript"> </script> </head> <body> <form> <input type=button value="quadrat von von 6 errechnen" onclick="quadrat(6)"> </form> quadrat.js </body> </html> function Quadrat(Zahl) { Ergebnis = Zahl * Zahl; alert("das Quadrat von " + Zahl + " = " + Ergebnis); } Web-Technologien II: JavaScript JavaScript-Versionen Version JavaScript 1.0 JavaScript 1.1 JavaScript 1.2 JavaScript 1.3 (ISO/ECMA) JavaScript 1.4 JavaScript 1.5 Web-Browser Netscape 2.0+, Internet Explorer 3.0+ 40 Netscape 3.0+, Internet Explorer 3.02+ (bed.) Netscape 4.0+, Internet Explorer 4.0+ (bed.) (DHTML, Server-Side) Netscape 4.5+, Internet Explorer 5.0+ Netscape 4.6+ Netscape 6.0+ Jscript MS Internet Explorer 4.x+, Netscape 4.0 (bed.) (Betriebsystemzugriff)

Web-Technologien II Übersicht 41 HTTP-Server CGI Java / JavaScript Weitere Programmierumgebungen Web-Technologien II Weitere Programmierumgebungen 42 PlugIn-Software: z.b. Macromedia Flash - Client-seitig interaktive vektorbasierte Grafiken skalierbar lauffähig Active Server Pages (ASP) - Server-seitig VBScripte oder Jscript werden innerhalb von HTML-Seiten eingebaut Scripte laufen ab, bevor Seite übertragen wird (Output = HTML-Text) Server Side Includes (SSI) - Server-seitig ähnlich wie ASP Befehle werden vom Server abgearbeitet