Persönliche Worte

Und wandelt mit bedächt’ger Schnelle Vom Himmel durch die Welt zur Hölle.

Goethe, Faust I

Warum schreibt man so ein Buch?

Lieber Leser, diese Frage habe ich mir in den letzten Wochen und Monaten öfters, ja so- gar oft, gestellt. Einfache Antworten wie „materielle Gründe“ scheiden aus, denn auch bei bestem Erfolg liegt der effektive Stundenlohn weit unterhalb al- ler gesetzlichen Phantasien

Bleiben ideelle Werte.

Zum einen die Hoffnung und der Wunsch, Anwendern und Studierenden et- was nützliches zu vermitteln; das ist im Kern mein Beruf, und das liegt mir sehr am Herzen – und ist im Einklang mit Web 2.0 und mit „Social Web“ die Zukunft unserer Gesellschaft.

Zum anderen war die Arbeit an diesem Buch nicht nur eine Belastung, sondern auch eine Freude. Ausgesprochen gut war von Anfang an die Zusammenar- beit mit dem Springer-Verlag. Mit Hermann Engesser und Dorothea Glaunsin- ger in Heidelberg verbindet mich inzwischen keine geschäftliche, sondern eine freundschaftliche Beziehung. Auf der TEX-nischen Seite war auch dieses Buch eine kleine Herausforderung, und hier war Frank Holzwarth bei Springer ein an Kompetenz nicht zu über- bietender Partner, der mich sehr unterstützt hat.

Auch an der Hochschule haben viele ihren Anteil am Zustandekommen dieses Werks. An erster Stelle möchte ich Torsten Kockler danken, dem neben vielen grafischen Elementen dieses Buches auch inhaltlich wichtige Verbesserungen zu verdanken sind. Ebenso haben viele Studierende und Mitarbeiter der Hoch- schule dieses Werk wesentlich verbessert, und Eure Unterstützung war einer der schönsten Aspekte. Alle kann ich hier nicht aufzählen, aber Marcel Rem- my und Christian Schommer sind unbedingt für ihren besonderen Einsatz zu erwähnen.

Das schönste beim Erstellen dieses Buches war aber die unfassbare Unter- stützung durch den Menschen an meiner Seite; bedeutet der Entschluss, eine derartige Aufgabe anzugehen, zunächst einen Verzicht und eine Belastung der Partnerschaft, war Deine unvergleichlich kompetente, wichtige und tiefgründi- ge Unterstützung für unser Projekt das schönste, was dabei eintreten konnte.

Deine Liebe ist die größte Kraft meines Lebens. A

Internetlinks

Für die Web-Programmierung stehen in großer Vielzahl sehr nützliche und aktuelle Ressourcen im Internet bereit. Einige sehr wichtige sind hier aufgeführt.

Unter

»ÛÛÛºÛ ÓÑÔÒÙѺ • ØØÔ» ist eine direkt verlinkte, umfassende und aktuelle Liste der Links zum Thema dieses Buches zu finden.

A.1 Zu Kapitel 1

Allgemeines »ÛÛÛº)Òº

• ØØÔ2» DFN-Verein »ÛÛÛºÒØÖ)غÓÑ • ØØÔ2» Netcraft

• »º×Ð)ØÑкÓÖ ØØÔ2» Selfhtml tcp/ip

• ØØÔ2»»ÛÛÛººÓÖ

A.2 Zu Kapitel 2

HTML

• »ÛÛÛºÛ¿ºÓÖ

ØØÔ2» W3C-Site »º×Ð)ØÑкÓÖ • ØØÔ2» das auf Stefan Münz zurückgehende Selfhtml

• »Øݺ×ÓÙÖ)ÓÖºÒØ

ØØÔ2» HTML Tidy »ÚÐØÓÖºÛ¿ºÓÖ • ØØÔ2» HTML Validator CSS

• »ÛÛÛºÛ¿ºÓÖ»ËØÝл'ËË ØØÔ2» CSS Definition

• »º×Ð)ØÑкÓÖ»××

ØØÔ2» CSS Erläuterungen »ÛÛÛº×× ÝÓÙº • ØØÔ2» CSS Erläuterungen und Beispiele Barrierefreiheit

• »ØØÔ2»»ÛÛÛºÛ¿ºÓÖ»Ï Á ØØÔ2» WAI-Site

• »ÛÛÛº+ØÚØ×غ ØØÔ2» BITV-Test 594 A Internetlinks

A.3 Zu Kapitel 3

Betriebssysteme:

• ØØÔ2»»ÛÛÛºÒØÖ)غÓÑ

• ØØÔ2»»ÛÛÛº×ÙÒº »ÛÛÛº+Òº • ØØÔ2» Debian-Site

• »ÛÛÛºÒØÓÓº

ØØÔ2» Gentoo-Site

»ÛÛÛºÙ+ÙÒØÙÙ×Ö׺ • ØØÔ2»

Datenbankmanagementsysteme:

• ØØÔ2»»ÛÛÛºÑÝ×ÕкÓÑ

• ØØÔ2»»ÛÛÛºÔÓ×ØÖ×ÕкÓÖ

• ØØÔ2»»ÛÛÛº×ÕÐغÓÖ

• ØØÔ2»»×ÕÐ+ºÓÖ

• ØØÔ2»»+ºÔºÓÖ»Ö+Ý

XAMPP

• ØØÔ2»»ÛÛÛºÔ)ÖÒ׺ÓÖ » »ÜÑÔ ÔºØ ÑÐ

A.4 Zu Kapitel 4

»ÛÛÛº×Ø(ºÒл∼ÑØÖ »ÓÜ ÝÒ »Ò ܺØÑ Ð • ØØÔ2» Doxygen

A.5 Zu Kapitel 5 »ÛÛÛº×ØÖºººÙ(»ÔÖ Ó8 Ø×») ×ØÚ Ð

• ØØÔ2» Festival Screen Reader »ÛÛÛºÛ+×ØÒÖ׺ÓÖ »Ø ÓÒ» ¾ • ØØÔ2» Browsertest ACID2

A.6 Zu Kapitel 6

Apache

• ØØÔ2»»ÛÛÛºÔºÓÖ

Auswertung der Logfiles

• ØØÔ2»»ÓÑÒÙÒÓÒº»ÑÖÖÓ Ö×»Û +Ð ÞÖº ÓÑ

• ØØÔ2»»Û×ØØ׺×ÓÙÖ)ÓÖº ÒØ

A.7 Zu Kapitel 8

Eclipse

• »ÛÛÛºÐÔ׺ÓÖ

ØØÔ2» Site des -Projektes

»ÛÛÛº×ÕÐÜÔÐÓÖÖºÓÖ • ØØÔ2»

Firebug

• ØØÔ2»»ÛÛÛºØ)Ö+ÙºÓÑ

Datenbank-Tools

• »ÛÛÛºÑÒպ׻ÔÖÓÙØ× »+Ú ×

ØØÔ2» DbVisualizer »ÛÛÛºÔÔÑÝÑÒºÒØ • ØØÔ2» phpMyAdmin A.12 Zu Kapitel 13 595

A.8 Zu Kapitel 9

• ØØÔ2»»ÓÓÓÓºÒ׺Ùٺٻ 

A.9 Zu Kapitel 10

Perl

• »ÛÛÛºÔÖкÓÖ ØØÔ2» offizielle Seite von Larry Wall

• »ÛÛÛºÔÖкÓÑ ØØÔ2» Perl-Site des O’Reilly-Verlags

• »ÛÛÛºÔÒºÓÖ

ØØÔ2» Comprehensive Perl Archive Network »ÛÛÛºØÚ×ØغÓÑ • ØØÔ2» Perl-Distributionen für verschiedene Betriebssysteme

• »¹Ô¹¹º×ÓÙÖ)ÓÖºÒ Ø ØØÔ2» das EPIC-Plugin für Perl (10.3.4)

• ØØÔ2»»ÛÛÛºÒ)ÓÖÑØ(ºÙÒ¹)Ö +ÙÖ º» ∼× »Ô Öк ØÑÐ CGI-Modul

• »×ØÒº×кÓÖ»ÏÏÏ»×Ó )ØÛÖ »' Á ØØÔ2» Informationen von Lincoln Stein zum CGI-Modul

• »×ÖºÔÒºÓÖ»×Ø» ' ÁºÔ Ñ ØØÔ2» CGI-Modul bei CPAN

A.10 Zu Kapitel 11 »ÛÛÛºÔÔºÒØ • ØØÔ2» offizielle PHP-Site

• »ÛÛÛºÞÒºÓÑ ØØÔ2» Site von Zend

• »ÔÔ¹)Õº ØØÔ2» praktische FAQ zum aktuellen PHP

• »ÛÛÛºÔÔÓº ØØÔ2» Informationen zu phpdoc

• »ÛÛÛºÔÔÐÔ׺

ØØÔ2» PHP-Plugin für Eclipse »¾ºÔÔºÒØ»ÑÒÙл »ÑÖ ØÓÒ ºÔ Ô • ØØÔ2» Migration PHP Version 4 zu Version 5

• »ºÔÔºÒØ»ÔÓ ØØÔ2» PHP Data Objects (PDO)

A.11 Zu Kapitel 12 »ÛÛÛºÔÝØÓÒºÓÖ • ØØÔ2» Python-Hauptseite u.a. mit Downloads und Online-Dokumentation

• »ÔÝÚº×)ºÒØ ØØÔ2»»ÔÝÚº×ÓÙÖ)ÓÖºÒØ ØØÔ2» und Entwicklungsumgebung: empfehlenbswertes Eclip- se Plugin

• »ÛÛÛºÔÝØÓÒºÓÖ»Ó»Ù ÖÖÒØ »ÑÓ ÒÜ ºØÑÐ

ØØÔ2» Übersicht über die Python-Standardmodule »×ÓÙÖ)ÓÖºÒØ»ÔÖÓ8 Ø×»Ñ Ý×Õй ÔÝØ ÓÒ • ØØÔ2» MySQL-Modul für Python

• »ÛÛÛº8ÝØÓÒºÓÖ»ÈÖÓ8 Ø»Ò ܺØ ÑÐ ØØÔ2» das Jython-Projekt

• ØØÔ2»»ÞÓÔºÓÖ

• ØØÔ2»»ÔÐÓÒºÓÖ

• ØØÔ2»»ÛÛÛº8ÒÓÔÖÓ8غÓÑ

• ØØÔ2»»ÛÛÛºÑÓÔÝØÓÒºÓÖ

A.12 Zu Kapitel 13 »ÛÛÛºÖÙ+ݹÐÒºÓÖ • ØØÔ2» Ruby-Hauptseite

• »ÛÛÛºÖÙ+ݹÓºÓÖ ØØÔ2» Ruby-Dokumentationssammlung

• »ÛÛºÖÙ+ÝÛ(º

ØØÔ2» ein Wiki rund um Ruby »ÛÛÛºÖÙ+ÝÒØкÓÑ • ØØÔ2» zahlreiche Informationen und Ressourcen zu Ruby

• »ÖÙ+ÝÐÔ׺×ÓÙÖ)ÓÖ ºÒ Ø ØØÔ2» Ruby-Plugin „rubyeclipse“ für die IDE Eclipse

• »ÑÓÖÙ+ݺÒØ ØØÔ2» das mod_ruby-Apache-Modul

• »ÛÛÛºÖÙ+ݺÓÖ ØØÔ2» Informationen zu eRuby

• »ÖÙ+Ý)ÓÖºÓÖ»ÔÖÓ8Ø ×»ÖÙ+ Ý)ÓÖ Ô  ØØÔ2» Ruby-Apache-Pakete insbesondere für Windows mit Installer

• »ÛÛÛºØÑØѺÓÖ»Ò»ÑÝ×ÕÐ »ÖÙ+Ý ØØÔ2» Ruby-MySQL-Modul

• »ÖÙ+Ý)ÓÖºÓÖ»ÔÖÓ8Ø ×»ÖÙ+ ݹ+ »

ØØÔ2» Ruby-DBI »8ÖÙ+ݺÓÙ׺ÓÖ • ØØÔ2» das JRuby-Projekt 596 A Internetlinks

A.13 Zu Kapitel 15 »ÛÛۺѹÒØÖÒØÓÒ ÐºÓ Ö»ÔÙ +Ð ØÓÒ ×»×Ø ÒÖ ×»  ѹ¾ ¾ºØ Ñ

• ØØÔ2» ECMA-262 »ÚÐÓÔÖºÑÓÞÐкÓÖ »Ò »Ó× »ÆÛ DÒD ÚË ÖÔØ D½º

• ØØÔ2» JavaScript-Version 1.7 »Ð+׺Ó+ºÓÑ»ØÒ ÓÐÓ ×»8 ×Ð Ô× • ØØÔ2» JavaScript-Plugin für Eclipse von Adobe/

• »8×ÓÒºÓÖ

ØØÔ2» json »ÛÛÛºÛ¿ºÓÖ»ÌÊ» ÇŹÄ Úй ¿¹'ÓÖ  • ØØÔ2» DOM Level 3

A.14 Zu Kapitel 16 »ÛÛÛºÔØÚÔغÓÑ »ÔÙ+ ÐØ ÓÒ× »×× Ý×» ÖÚ ×»¼¼ ¼¿  ºÔÔ • ØØÔ2» Initialartikel zu Ajax (Abbil- dung 16.1)

• »ÛÛÛºÐÔ׺ÓÖ»Ø)

ØØÔ2» Ajax-Plugin für Eclipse »Ó8ÓØÓÓÐ(غÓÖ • ØØÔ2» das dojo-Toolkit

A.15 Zu Kapitel 17 »¿ºÔÔºÒØ»ÑÒ

• ØØÔ2» Ming-Bibliothek für PHP »Ò׺ÐÙÐÙºÓÑ • ØØÔ2» gnash (GNU Flash)

A.16 Zu Kapitel 19

• ØØÔ2»»ÛÛÛº)×غÓÑ

A.17 Zu Kapitel 20 »ÔÖºÔÔºÒØ

• ØØÔ2» die PEAR-Site »ÔкÔÔºÒØ • ØØÔ2» die PECL-Site

• ØØÔ2»»Ó×׺+(ÒѺÓÑ »Ò ܺÔ ÔUÖ HÅ /¾

A.18 Zu Kapitel 21 »×ÑÖØݺÔÔºÒØ • ØØÔ2» Smarty-Site

A.19 Zu Kapitel 22 »ÛÛÛº8ÒÓÔÖÓ8غÓ Ñ

• ØØÔ2» django Site »ÛÛÛº8ÒÓ+ÓÓ(ºÓÑ • ØØÔ2» django Online-Dokumentation

A.20 Zu Kapitel 23 »ÛÛÛºÖÙ+ÝÓÒÖÐ׺ÓÖ • ØØÔ2» Rails Site

• »ÔºÖÙ+ÝÓÒÖÐ׺ÓÖ

ØØÔ2» Rails-API »ÛÛÛºÖÖÐ׺ÓÖ • ØØÔ2» das radrails-Plugin für Eclipse A.25 Zu Kapitel 30 597

A.21 Zu Kapitel 24 »8Úº×ÙÒºÓÑ»8Ú

• ØØÔ2» J2EE-Site bei Sun »8Úº×ÙÒºÓÑ»ÔÖÓÙØ× »×ÖÚ ÐØ» ÒÜ º8×Ô

• ØØÔ2» Java Servlets »ØÓÑغÔºÓÖ • ØØÔ2» Tomcat-Server

• »ÛÛÛºÐÔ×ØÓØкÓÑ »ØÓÑ ØÈÐÙ Òº ØÑÐ

ØØÔ2» Sysdeo-Plugin

»8Úº×ÙÒºÓÑ»8Ú×»Ø ÒÓ ÐÓ ×» Ø+× »Ò ܺ8 ×Ô • ØØÔ2»

• ØØÔ2»»8Úº×ÙÒºÓÑ»ÔÖÓÙØ× »8Ò

• ØØÔ2»»8Úº×ÙÒºÓÑ»ÔÖÓÙØ× »8×Ô» ÒÜ º8×Ô

A.22 Zu Kapitel 27 »ÛÛÛºÒºÓÖ»××ÒÑ ÒØ×»Ñ ¹ ØÝÔ × • ØØÔ2» Übersicht über die MIME-Typen

A.23 Zu Kapitel 28 »ÛÛÛºÑ×ÑØÖܺÓÖ

• ØØÔ2» detaillierter Vergleich „aller“ CMS »ÛÛÛº8ÓÓÑкÓÖ

• ØØÔ2» das CMS Joomla! »ÔÐÓÒºÓÖ

• ØØÔ2» das CMS Plone »ÛÛÛºÒ)ÓÔÖ(º»ÔÖÓÙ Ø×»½ Ñ×» ÒÜ ºØÑÐ • ØØÔ2» das kommerzielle CMS Fiona von Infopark

• »ÛÛÛºÐ׺»Ó×

ØØÔ2» das Learning Management System ILIAS »ÛÛÛºØÝÔÓ¿ºÓÖ

• ØØÔ2» das CMS TYPO3 »ÛÛÛºØÝÔÓ¿ºÓÑ • ØØÔ2» TYPO3 „für Entscheider“

• »ØÝÔÓ¿ºÓÑ» ×غ ½¾ º ¼ºØÑ ÐU²Ä H¾

ØØÔ2» Geschichte von TYPO3 »ØÝÔÓ¿ºÓÖ»ÜØÒ×ÓÒ×

• ØØÔ2» TYPO3-Extensions einschließlich Suchmöglichkeit »ÛÛÛºØÝÔÓ¿ºÒØ»Ø×Ö) • ØØÔ2» TypoScript-Referenz

A.24 Zu Kapitel 29 »8(ÖغԺÓÖ»8Ñ ØÖ • ØØÔ2» Apache JMeter

A.25 Zu Kapitel 30

Allgemeine Informationen

»×Ø))ºÛ×ÒØÓÒºÙ» ØØÖ »Ñ ×» ×ØÒ » • ØØÔ2»

• ØØÔ2»»ÛÛÛºÒØÖ)غÓÖ

• ØØÔ2»»ÛÛÛº)Ö×ÖغÓÑ

• ØØÔ2»»ÛÛÛºÞÓÒ¹ºÓÖ

• ØØÔ2»»ÛÛÛº+׺

Analysewerkzeuge

»ÛÛÛºÒ×ÙÖºÓÖ»ÒÑÔ • ØØÔ2»

• ØØÔ2»»ÛÛÛºÒ××Ù׺ÓÖ B

Abkürzungen

Die moderne Informatik, und im besonderen Maß die Internet-Technologie, verwendet eine Vielzahl von Abkürzungen. Die wichtigsten werden hier mit einem Bezug zu den relevanten Passagen im Buch, aufgelöst.

Ajax: Asynchronous JavaScript and XML (16) ARPANET: Advanced Research Projects Agency Network (1.1) ASP: Active Server Pages AW T: Abstract Window Toolkit BITV: Barrierefreie Informationstechnik Verordnung (2.6) CGI: Common Gateway Interface (9) CMS: Content Management System CPAN: Comprehensive Perl Archive Network CSS: Cascading Stylesheets (2.5) CVS: Concurrent Versions System DBD: Database Driver (10.7) DBI: Database Independent Interface (10.7) DBMS: Database Management System DDOS: Distributed Denial of Service (30.4) DFN: Verein zur Förderung eines Deutschen Forschungsnetzes e. V. (1.1) DHCP: Dynamic Host Configuration Protocol DNS: Domain Name Service (1.6.6) DOM: Document Object Model (15.5) DOS: Denial of Service (30.4) DTD: Document Type Definition (2.4.4) ECMA: European Computer Manufacturers Association (15) EJB: Enterprise JavaBeans ERP: Enterprise Resource Planning : Favorites Icon FOP: Formatting Objects Processor (27.4.2.1) FTP: File Transfer Protocol (1.6.7.2) HTML: Hypertext Markup Language (2.3) HTTP: Hypertext Transfer Protocol (1.6.5) HTTPS: HyperText Transfer Protocol Secure IDE: Integrated Development Environment (8.1) ip: Internet Protocol (1.6.3) ISO: International Organization for Standardization (1.6.1) jar:JavaArchive JDBC: Java Database Connectivity JDK: Java Development Kit 600 B Abkürzungen

JNDI: Java Naming and Directory Interface (24.3.1.1) JSF: JavaServer Faces (24.5.2) JSON: JavaScript Object Notation (15.8) JVM: Java Virtual Machine LAMP: Linux-Apache-MySQL-PHP LAN: Local Area Network (1.6.3) LDAP: Lightweight Directory Access Protocol MIME Multipurpose Internet Mail Extensions (27.1) MVC: Model-View-Controller (11.6.2) NAT: Network Address Translation (1.6.3) ODBC: Open Database Connectivity OO: Objektorientierung (11.6.1) OSI: Open Systems Interconnection Reference Model (1.6.1) PAT: Port Address Translation (1.6.3.3) : Portable Document Format (27.4) PDO: PHP Data Objects (11.8) PEAR: PHP Extension and Application Repository (20) PECL: PHP Extension Code Library 20 RFC: Request for Comments SGML: Standard Generalized Markup Language (2.2) SMTP: Simple Mail Transfer Protocol (1.6.8) SOA: serviceorientierte Architekturen SSH: Secure Shell (1.6.7.3) SSL: Secure Sockets Layer SVG: Scalable Vector Graphics swf: Small Web Format tcp: Transfer Control Protocol (1.6.2) TLS: Transport Layer Security UAC: User Account Control (3.2.3) udp: User Datagram Protocol UML:Unified Modeling Language URI: Uniform Resource Identifier (1.6.9) URL: Uniform Resource Locator (1.6.9) URN: Uniform Resource Names (1.6.9) utf-8: 8-bit Unicode Transformation Format (2.3.5) WAI: Web Accessibility Initiative (2.6) WAN: Wide Area Network (1.6.3) war: Archive WebDAV: Web-based Distributed Authoring and Versioning (1.6.5.2) WWW: World Wide Web (1.1) XML: Extensible Markup Language (2.4) XSS: Cross-Site-Scripting Literatur

[AKW98] ACHTNER,WOLFGANG,STEFAN KUNZ und THOMAS WALTER: Di- mensionen der Zeit. Wissenschaftliche Buchgesellschaft, zugleich Primus- Verlag, Darmstadt, 1998. [Arn06] ARNDT,HENRIK: Integrierte Informationsarchitektur. X.media.press. Springer, Berlin u.a., 2006. [BBS04] BÖHRINGER,JOACHIM,PETER BÜHLER und PATRICK SCHLAICH: Projek- te zur Mediengestaltung. X.media.press. Springer, Berlin u.a., 2004. [BLL06] BRAUNE,KLAUS,JOACHIM LAMMARSCH und MARION LAMMARSCH: LATEX– Basissystem, Layout, Formelsatz. X.systems.press. Springer, Berlin u.a., 2006. [BRJ05] BOOCH,GRADY,JAMES RUMBAUGH und IVA R JACOBSON: The Unified Modeling Language – User Guide. Addison-Wesley, Reading, Mass., 2. Auf- lage, 2005. [DB00] DESCARTES,ALLIGATOR und TIM BUNCE: Programming the Perl DBI – Database Programming with Perl. O’Reilly, Beijing u.a., 2000. [Deh01] DEHNHARDT,WOLFGANG: Scriptsprachen für dynamische Webauftritte. Hanser, München u.a., 2001. [Deu05] DEUTZ,ROBERT: Mambo. Xpert.press. Springer, Berlin u.a., 2005. [Fla06] FLANAGAN,DAV I D: JavaScript – The Definitive Guide. O’Reilly, Beijing u.a., 5. Auflage, 2006. [Fue05] FUECKS,HARRY: PHP 5 für Fortgeschrittene. dpunkt, Heidelberg, 2005. [GHJ04] GAMMA,ERICH,RICHARD HELM und RALPH E. JOHNSON: Entwurfs- muster. Elemente wiederverwendbarer objektorientierter Software. Addison- Wesley, München u.a., 2004. [Hal00] HALL,MARTY: Core Servlets and Java Server Pages. Prentice Hall, Upper Saddle River, 2000. [Häß03] HÄSSLER,ULRIKE: Cascading Stylesheets. X.media.press. Springer, Berlin u.a., 2003. [Höp07] HÖPPEL,RALF ROBERT: Der Ruby-Atlas. Xpert.press. Springer, Berlin u.a., 2007. [Kil02] KILLELEA,PATRICK: Web Performance Tuning. O’Reilly, Beijing u.a., 2. Auflage, 2002. [Kra05] KRAUSE,JÖRG: PHP 5, Grundlagen und Profiwissen. Hanser, München u.a., 2. Auflage, 2005. [KS05] KRIHA,WALTER und ROLAND SCHMITZ: Internet-Security aus Software- Sicht. Xpert.press. Springer, Berlin u.a., 2005. [Lut06] LUTZ,MARK: Programming Python. O’Reilly, Beijing u.a., 3. Auflage, 2006. [MR01] MÜLLER,GÜNTHER und MARTIN REICHENBACH (Herausgeber): Sicher- heitskonzepte für das Internet, Xpert.press, Berlin u.a., 2001. 5. Berliner Kol- loquium der Gottlieb Daimler- und Karl Benz-Stiftung. [MS04] MEINEL,CHRISOPH und HARALD SACK: WWW – Kommunikation, Inter- networking, Web-Technologien. Xpert.press. Springer, Berlin u.a., 2004. 602 Literatur

[PB06] PELLEGRINI,TASSILO und ANDREAS BLUMAUER: Semantic Web. X.media.press. Springer, Berlin u.a., 2006. [PI99] PATWARDHAN,NATE und CLAY IRVING: Programmieren mit Perl Modulen. O’Reilly, Beijing u.a., 1999. [PR07] PLAG,FLORIAN und ROLAND RIEMPP: Interaktives Video im Internet mit Flash. X.media.press. Springer, Berlin u.a., 2007. [Roj98] ROJAS,RAÚL: Die Rechenmaschinen von Konrad Zuse. Springer u.a., Ber- lin, 1998. [SB06] STÖCKL,ANDREAS und FRANK BONGERS: EinstieginTYPO34.0. Galileo Press, Bonn, 2. Auflage, 2006. [Sto04] STOYAN,ROBERT: Management von Webprojekten. Springer, Berlin u.a., 2004. [Wal03] WALTER,THOMAS: Grundlagen der Infomatik. Hanser, München u.a., 2003. [Wal04] WALDRAFF,THOMAS: Digitale Bildauflösung. X.media.press. Springer, Berlin u.a., 2004. [Wal05] WALTER,THOMAS: MediaFotografie – analog & digital. X.media.press. Springer, Berlin u.a., 2005. [WCS00] WALL,LARRY,TOM CHRISTIANSEN und RANDAL L. SCHWARTZ: Pro- gramming Perl. O’Reilly, Beijing u.a., 3. Auflage, 2000. [Wen07] WENZ,CHRISTIAN: JavaScript und Ajax. Galileo Press, Bonn, 7. Auflage, 2007. [Zie02] ZIEGLER,JOACHIM: Programmieren lernen mit Perl. Xpert.press. Springer, Berlin u.a., 2002. Personenverzeichnis

Andreessen, Marc 5 Gauß, Carl-Friedrich 137 Ohrt, Monte 436 Angermeier, Markus 588 Goethe, Johann Wolfgang von V, 591 Raggett, Dave 31 Bakken, Stig 427 Gosling, James 8 Reenskaug, Trygve 58 Baran, Paul 3 Gutmans, Andi 190 Rossum, Guido van 257 Beckers, Rob 18 Berners-Lee, Tim 3, 81, 589 Hader, Oliver 554 Skårhø, Kasper 554 Boutell, Thomas 548 Hammond, Mark 258 Stein, Lincoln 165 Hansson, David Heinemeier 463 Cline, Craig 588 Suraski, Zeev 190 Heesch, Dimitri van 61 Combs, Gerald 22 Hugonin, John 293 Tanenbaum, Andrew 57 Davies, Donald Watts 3 Lemos, Manuel 434 Torvalds, Linus 46 Dougherty, Dale 588 Trubetskoy, Gregory 295 DuBois, Paul 333 Lerdorf, Rasmus 190

Eich, Brendan 348 Masahiro, Tomita 331 Wall, Larry 125 Engelschall, Ralf 91, 579 Matsumoto, Yukihiro 297 McCool, Rob 81 Zmievski, Andrei 190, 436 Garrett, Jesse J. 387 Münz, Stefan 26, 593 Zuse, Konrad 409 Sachverzeichnis

127.0.0.1 10 Modulkonzept 90 CGI 113 Rails 473 Beispiele 115 Abkürzungen 599 server_info 580 115 Access-Lists 583 server_status 580 Einfaches mit Perl 154 ACID2 68 UTF-8 32 Fehler 160 ACID2 Browsertest 69 Versionen 82 Java 116 Acrobat 549 apache2.conf 87 mit Java und Formular 120 ActionScript 401, 406 Applet 409, 582 Prinzip 114 AdaptivePath 387 Architektur 410 Python 280 Adobe 548, 549 Einbinden 411 QUERY_STRING 115 Adobe GoLive 545 Idee 409 Rechte 160 Ajax 387 Java-Klassen 412 Ruby 322 Ablauf 390 Probleme 414 Shebang 154 ATF 389 Sandbox 410 Umgebungsvariablen 114 beenden 396 Sicherheit 410 Unterschied zu fastCGI 417 Beispiel 388, 391 signiert 411, 582 CGI (Perl-Modul) 165 Eclipse 389 468 Cisco IOS 90, 583 Grundlage 389 ARPANET 3 CMS Parameterübergabe 393 assoziatives Array 134 ILIAS 553 Parameterübergabe POST 395 Audio 401 Joomla 553 Probleme 400 Auszeichnungssprachen 25 Mambo 553 TYPO3 554 awstat 92 NPS 553 Web 2.0 588 Plone 553 XMLHttpRequest 389, 399 Barrierefreiheit 42 TYPO3 553, 554 Amazon 7, 519 BITV 42 Vorteile 551 Apache 81 WAI 42 cmsmatrix.org 552 Architektur 84 Behindertengleichstellungsgesetz Cocoon 447 Benutzerkennung 579 43 Compiler-Flags 85 File-System 86 Beispielanwendung 93 Content Management Systeme 551 Installation 84, 191 Neueintrag 99, 535 Controller 58 Installation Unix 191 SQL-Syntax 98 Cookie 519, 582 Installation Windows 191 BITV 43 Arbeitsweise 522 Konfiguration 87 Browser 5, 63 Browser 519 Konfiguration für PHP 193 Firefox 65 Datenstruktur 523 Logfiles 91 InternetExplorer 64 Expires 523 access.log 92 Lynx 67 Gültigkeit 523 error.log 92 66 PHP 524 mod_jk 495 Safari 66 Security 523 mod_python 295, 447 Verteilung 63 setcookie 526 mod_ruby 328 Browserweiche 371 Cookies mod_so 91 PHP 524 mod_user_track 523 CERN-Webserver 5 CPAN 162 606 Sachverzeichnis

Cross Media Publishing 551 JSEclipse 351 FTP 18 CSS 38, 58, 154 Perspektive 102 Beispiel WebKompendium 41 Projekt 102 Gardner Group 587 Browser 39 radrails-Plugin 468 GD 548 case-sensitive 40 rubyeclipse 299 GD-Bibliothek 548 CSS-Datei 39 SQLExplorer 103 Gecko 65 Grundsyntax 40 Sysdeo-Plugin 496 gem 466 Media-Typ 40 WTP 103 Gentoo 47 Selektor 40 ECMA-262 348 Geronimo 494, 515 Versionen 39 EJB 515 gif 547 CVS 101 EPIC 129 Gnash 407 Etch 47 GoLive 106, 197, 382 Dateiformate ethereal 22 Google 7, 57, 385, 407, 523, 580 für Web 547 eval 140 Ajax 388 Datenbank-Tools 109 Event 380 Analytics 92 Datenbankserver 48, 577 Event-Handle 382 Gopher 3 DBI 173 Exceptions 140 Grafik 544 DbVisualizer 109 Groovy 587 DDOS 580 Farbe Debian 47 hexadezimale Darstellung 547 Hardware 45 Defacement 575 indizierte 546 Hash 134 Derby 50 websichere 546 Here-Documents Deutschlandfunk 401 fastCGI 417 in Perl 155 DFN 3 Ablauf 419 in Python 281 DHCP 20 Apache-Modul 420 HSQLDB 50 DHTML 6, 347 Daemonize-It 417 HTML 6, 26 Direktive 87 Developer’s Kit 419 Body 29 django 447 Java 423 Dokumententyp 28 Anwendung 452 Lizenz 425 Einbinden eines Bildes 544 Beispiel 450 Perl 422 Euro-Symbol 32 Betrieb 447 Protokoll 419 Favicon 29 Installation 448 Security 419 Formular 29 Mapping 456 Serverprozess 421 Eingabefeld 30 Model 453 Vorteile gegenüber CGI 418 Frameset 28 Projekt 450 Favicon 29, 154 Header 28 Server 450 Festival 68 IMG-Tag 544 Template 457 File-Handle 144 JavaScript 368 View 456 Filetests 145 Prinzip 27 DNS 577 Firebug 107, 356 Strict 28 DocumentRoot 89 Firefox 65 Templates 457 dojo 390 Firewall 582 Transitional 28 Dokumentation 59 Access-Lists 583 Varianten 28 DOM 368 Black List 583 Versionen 26 DOS 580 White List 583 Zeichensatz 32 Doxygen 61, 201 Flash 401 HTML Tidy 30 Dreamweaver 105, 197, 382 Actionscript 406 HTML Validator 30 DTD 35 Alternativen 407 HTTP 12 Syntax 35 Beispiel 404 Antwortcodes 17 Dublin Core 97 Bühne 402 Cookie 519 Editor 402 DELETE 17 Ebay 7 HTML-Einbindung 405 GET 16 Eclipse 101 Intro 402 POST 16 Ajax 389 Prinzip 401 PUT 17 Aptana 468 Probleme 406 httpd.conf 87 Ausführen CGI 160 Tween 404 HTTPS 91 Callisto 103 Zeitleiste 402 Hyperlink 3 cdt 116 Flickr 588 DB-Plugin 103 Formular 29 IDE 101 EPIC 129 Eingabefeld 30 ifconfig20 Sachverzeichnis 607

ILIAS 553 Schalter 360 JVM 8, 414, 493 ImageMagick 548 verlassen 362 Jython 293 IMAP 19 while-Schleife 360 InternetExplorer 582 lastModified bei Serverscript 384 Kerio Firewall 584 Internetlinks 593 Link 375 Kommentare 59 Internetprotokolle 9 Logik 359 Komodo 129 IOS 90, 583 Math 368 Kontrollstrukturen 135 ip 10 Methoden 359 Kubuntu 47 v4 10 navigator 370 v6 11 Objektorieniterung 364 LAMP 191 ipconfig20 Operatoren 359 LAN 10 iPhone 66 screen 372 LDAP 510 IPSec 11 Sicherheit 384, 385 Links 593 ISO 9 Standardklassen 368 Links2 67 String 368 Linux 46 J2EE 493, 494 Syntax 356 Debian 47 Java 8 Tag 353 Liste 132 Applet 409, 582 Tags 351 Literatur XIV EJB 515 toString 368 LiveScript 347, 348 fastCGI 423 Variablen 356 Load Balancing 57 J2EE 493, 494 Version 354 localhost 10 J2SE 494 window 373 Logfile 91, 159 Java 6 50 LWP 185 document 377 JDBC 506 Lynx 67 document forms 377 JNDI 506 document forms elements 378 JSF 515 Macromedia Dreamweaver 545 frames 377 JSP 511 MDB2 434 history 376 JVM 414 Media-Formate 543 location 375 Sandbox 582 MIME 543 XMLHttpRequest 399 Servlets 494 Übersicht 543 Zeichenketten 356 Struts 515 mod_ssl 579 JBoss 494, 515 javadoc 59, 200 mod_perl 91 JavaScript 347, 348, 582 JDBC 175, 506 mod_php 91 Ajax 387 Arbeitsweise 506 mod_python 295, 447 Array 358 Connection-Pool 510 mod_ruby 91 aus Serverscript 384 JMeter 569 mod_ssl 91 Browser 348 Bedeutung 573 Model 58 Browserabhängigkeit 384 Graph Result 573 Mosaic-Browser 5 Browserweiche 371 HTTP Cookie Manager 572 Mozilla 65 Date 368 Lauscher 572 MVC 57, 251, 435 DOM 368, 369 Proxy-Server 569 CSS 58 ECMA-262 348 Recording Controller 570 mit PHP 251 Entwicklung 348 Session 572 Servlets 497 Event-Handle 382 Test auswerten 572 Web 59 Events 380 Test durchführen 571 MyISAM 94 Fehlerkonsole 355 Test Korrektheit 572 MySQL 49, 94 Fehlersuche 355 Test Performance 573 MySQLdb 292 Formularüberprüfung 378 Testplan 569 HTML 368 Timer 573 Namensraum 150 Importieren 362 JNDI 506, 510 NAT 11, 577 Iteratoren 362 jpeg 547 Neo 1973 47 JSEclipse 351 JRuby 335 nessus 581 Kommentare 352 JSF 515 Netscape 5, 348 Kontrollstrukturen 359 JSON 383 Netzwerkmaske 20 Block 360 JSP 511 nichtroutbare Adressen 11 do-while-Schleife 360 Arbeistweise 512 nmap 581 Entscheidung 360 Aufbau 511 Nomenklatur XV for-Schleife 361 Designpattern 515 Normalform 96 Iteratoren 362 Direktiven 514 nslookup 17 608 Sachverzeichnis

Objektorientierung 54 Modul DBI 173 Schleifen 212 Begrifflichkeiten 54 Modul LWP 185 Session 530 Garbage Collection 244 Module 160 setcookie 526 Klasse 54 Namensraum 150 Smarty 435 Konstruktor 54 package 160 Superglobal 209, 226, 228, 526, Objekt 54 perldoc 127, 128 530 Referenz 54 Ratespiel im Web 167 Upload 548 ODBC 175 Referenz 150 variable Variablen 223 OpenSSL 91, 579 Schleifen 137 Vererbung 247 Opera 66 Syntax 126 PHP-Nuke 447 OSI 9 Tastatureingabe 131 phpinfo 580 Überladen 143 phpMyAdmin 109 PAT 11 wantarray 143 PHPSESSID 530 pdf Perl-CGI PLONE 257 FOP 549 Formularfelder 166 png 547 Java 549 Methode param 167 pop 133 pdf-Generierung 548 Methode Vars 167 POP3 19 PDO 255 PHP 189 Popup-Fenster 374 PEAR 427 Alternative Syntax 211 Postgres 50 DB 255, 430 alternative Syntax für Schleifen psycopg 292 Arbeitsweise 430 215 ppm 163 Installation 427 Arrays 206 ppm-shell 163 MDB2 434 Bezeichner 201 Projektmanagement 53 Pakete 429 Bilder 548 Provider 18 Paketmanager 428 break und continue 216 Prozedurale Programmierung 54 Struktur 427 Cookies 524 push 133 PECL 427 Dateizugriff 220 pydev 258 Performance 53, 569, 574 Datenkapselung 244 Python 257 Perl 125 Datenstrukturen 201 Applets 295 beenden 141 Cookie 527 DBMS-Treiber 191 assoziative Listen 266 Dateizugriff 144 Exception 250 Block 267 Datenstrukturen 130 Formulare 223 Bytecode 262 DBI 173 Hash 207 CGI 280 Anweisungen außer Select 184 Importieren 216 Cookie 527 close 178 include 216 Dateizugriff 271 connect 177 Klasse 244 django 447 connect allgemein 178 Konfiguration 193 Exceptions 272 connect für MySQL 177 Konstruktor 244 for 268 fetchrow_arrayref 179 Kontrollstrukturen 209 Here-Documents 281 fetchrow_hashref 179 Listenoperationen 207 IDLE 260 Installation 176 Listenzeiger 209 262 Prinzip 174 Logik 210 IO 271 rows 181 Ming 407 Jython 293 SELECT-Abfrage 178 MS Access 241 Jython und Datenbanken 295 Einbinden von Code 162 MVC 251 Klasse 272 einfaches CGI 154 mysqli 239 Konstruktor 274 EPIC 129 Objektorientierung 244 Kontrollstrukturen 267 fastCGI 422 ODBC 241 LIFO 266 Funktionen 142 Operatoren 209 Listen 265 Here-Documents 155 pdf-Generierung 549 Literale 263 Installation 126 PDO 255 Logik 265 Interpreter 127 PEAR 427 Methoden 269 Kommentare 128 php.ini 193 Argumente 270 Kontrollstrukturen 135 phpinfo 193 mod_python 295, 447 List-Operatoren 133 Referenzen 223 Modul cgi 282 Lizenz 126 register globals 578 Modul cgitb 284 LWP Performance-Test 574 require 216 Modul freeze 279 Modul CGI 165 safe_mode 194 Modul math 278 Sachverzeichnis 609

Modul os 279 Datenbanken 330 for 139 Modul string 277 Datenkapselung 319 foreach 139 Modul time 279 Entwicklungsumgebung 299 last 140 Modul Tkinter 295 eRuby 329 next 140 Modul urllib 287 Exceptions 320 redo 140 Module 277 Fixnum 302 until 139 MySQL 288 Float 303 while 138 MySQLdb 292 for-Schleife 311 Schleifen 137 Namensräume 270 FreeRIDE 300 Screen Reader 68 Objektorientierung 272 gem 466 Selfhtml psycopg 292 Hash 305 Farbwähler 7 pyc-Datei 262 Here-Documents 303 Semantic Web 589 pydev 258 HTML-Integration von Ruby 328 sendmail 19 pysqlite 292 HTTP-Server 329 Sequenz 144 self 273 if - else 308 Serv-U 18 Syntax 260 Installation 299 Servlet Vererbung 275 Instanzen 314 Aufwand 500 Verzweigung 267 Interpreter 300 CGI 505 Web 277 Iterator 310 Deployment 496 while 268 Klassen 313 Formularverarbeitung 500 ZOPE 447, 461 Konstruktor 314 Lebenszyklus 503 Kontrollstrukturen 307 Request-Methoden 503 QuickTime 407 Kontrollstrukturen verlassen 311 Senden von HTML 506 Liste 304 Startwerte 505 Rails 463 LOAD_PATH 317 Tomcat Webserver 500 Apache 473 Logik 307 Servlets 494 Controller 475 Mehrfachvererbung 318 Klasse 498 CRUD 464, 480 Methodendefinition 312 MVC 497 Datenbankanbindung 475 mod_ruby 328 Tomcat 495 Datenbanktabellen 490 Modul DBI 331 Voraussetzungen 495 DBMS 465 Modul mysql 331 Session 529 Installation 466 Modul socket 329 JMeter 572 Mapping 490 Module 315 PHP 530 Model 475 NET-Modul 330 PHPSESSID 530 Module 465 numerische Typen 302 Session-ID 529 Prinzip 464 Object-Klasse 313, 317 SGML 26 routes.rb 490 Objektorientierung 312 Shebang-Zeile 154, 160 Scaffolding 464, 480 Operatoren 306 shift 133 Template 484 Protokolle 330 Sicherheit 575 View 484 Rails-Framework 463 Apache-Kennung 579 WEBrick 464, 472 Range 304 Aufwand 585 Webserver 464 rubyeclipse 299 Referenz 150 Systemvariablen 306 ausgelieferte Dateien 159 reguläre Ausdrücke 152 until-Schleife 311 Datenbankserver 577 Rendering 435 Vererbung 317 Dienste 578 Resultset 51 Web 321 DOS 580 Ruby 297 Webclient 330 Firewall 582 Aliasing 313 while-Schleife 311 Konfiguration 577 alternative Syntax 310 Zeichenketten 303 Netzwerkstruktur 576 Array 304 Ruby on Rails 463 SSH 577 attr 319 Werkzeuge 581 BEGIN- und END-Block 308 Safari 66 Smarty 58, 255, 435, 436 Bezeichner 305 Sandbox 385, 410, 582 Beispiel 436 Bignum 302 SATAN 581 Caching 446 Block 307 Schichtmodell 9, 57 include 445 case-Schalter 309 Schleife include_path 436 CGI-Klasse 323 break 140 Instanz 442 CGI-Programmierung 322 continue 140 Konfiguration 442 Cookie 527 do-while 138 Kontrollstrukturen 443 610 Sachverzeichnis

Methoden 442 SSI-Elemente 339 Apache-Installation 86 Template Language 439 Tabellentypen in MySQL 95 Variablen 439 Vergleiche in Perl 136 W3C 26, 32 SMTP 19 tcp 11 WAI 43 Sniffer 22 Socket 72 Warteschlange 133 Socket 72 tcp/ip 9 Web 2.0 400, 588 Solaris 46 telnet 17 Web-Design 435 spiegel.de 552 Template 435 Web-Programmierung SQL django 457 Bedeutung der Techniken 587 Fremdschlüssel 94 Language 435 clientseitige 6 Primärschlüssel 94 Rails 484 Geschichte 3 SQLite 50 Smarty 435 Grundlagen 3 pysqlite 292 Testverfahren 569 Scriptsprachen 8 SSH 18, 577 Thread 74, 495 serverseitige 7 SSI 337 Thunderbird 65 Sprachen 8 Beispiele 337 TLS 579 Web-Site-Defacement 575 Elemente 339 Tomcat 495 Webalizer 92 Flusssteuerung 341 Webserver 500 Webclient 5, 63 geschachtelt 340 Transaktion 49, 239, 494, 515 WebDAV 17 Kennzeichnung 338 TYPO3 554 Webeditoren 104 Syntax 339 Ajax 554 WEBrick 472 Voraussetzungen 337 Architektur 554 Webserver 5, 71 SSL 579 Backend 558 Werkzeuge für die Web-Entwicklung Stack 133 Extensions 559 101 Standard-Handle 145 Frontend-Editing 567 Wikipedia 588 Streaming 12, 401 Geschichte 554 Wolke 588 Struts 447, 515 Installation 555 WSAD 295 Sun 8 1-2-3-Tool 556 www.webkompendium.de XV, 593 Superglobals 209 localconf.php 557 SVG 548 Projekt 561 XAMPP 51, 86, 192 TemplaVoila 560 XHTML 38 Tabelle TypoScript 565 XML 32

ÑØÑ in Perl 156 Baumstruktur 34 Browser, Verteilung 63 Ubuntu 47 DTD 35 Cookie-Attribute 523 udp 12 Syntax 35 CSS und ältere Browser 39 Überladen 143 Editor 33 Default tcp-Ports der wichtigsten Unix 46 Formatierung 36 Dienste 19 unshift 133 MABxml 97 Event-Handles in JavaScript 383 Unterporgramm MARCXML 97 Filetests in Perl 146 in Perl 146 Prolog 34 HTML-Attribute für -Tag URI 19 Syntax 34 544 URL 19 valid 36 HTTP-Codes 17 UTF-8 32 Validierung 33 HTTP-Syntax 14 Webserver 32 well-formed 36 logische Operationen in Perl 136 XMLHttpRequest 389, 399 MIME-Typen 544 Variable

Modi der Perl-Methode ÓÔÒ lokal und global 148 Z3 409 145 Vektorgrafik 547 Zeichenketten 131 Operatoren in Perl 131 Velocity 435, 447, 511, 515 Zertifikat Operatoren in PHP 209 VGA SSH 18 private Netzwerkadressen 11 Farbpalette 546 ZOPE 257, 295, 461, 553 Schleifenabbruch in Perl 140 Virtualisierung 46, 48 Zugriffsregel 576 Sonderzeichenmaskierung 131 Vista 583 Zuse 409