- Verlag: Addison-Wesley Verlag
- Autor: Stefan Münz
- E-Book ISBN: 9783827326782
- Erscheinungsjahr: 2008
- Seiten: 1233
- Auflage: 1
Webseiten professionell erstellen
Programmierung, Design und Administration von Webseiten
Das Buch beleuchtet die gegenwärtige Situation im Web, die verfügbaren Technologien, den Browser-Markt und Erwartungen von Anwendern. Darauf aufbauend werden die meistverbreiteten Beschreibungs- und Programmiersprachen für Websites praxisnah und anhand von konkreten Beispielen vermittelt. Das Spektrum reicht dabei von HTML über CSS, JavaScript/DOM bis zu PHP/MySQL. Der Leser wird darüber hinaus aber auch in die Konfiguration eines Webservers wie Apache eingeführt und erwirbt wichtige Grundkenntnisse im servertypischen Betriebssystem Linux. Ein perfekt abgestimmtes Allround-Kompendium also für Webdesigner, Webprogrammierer und Webmaster.
Inhaltsverzeichnis
1
<Webseiten professionell erstellen> - Programmierung, Design und Administration von Webseiten
6
Inhaltsverzeichnis
6
Teil I: Intro
6
1 Begriffsklärungen
6
1.1 Websites, Webseiten und Homepages
6
1.1.1 Websites
6
1.1.2 Webseiten
6
1.1.3 Homepages
6
1.1.4 Webauftritte und Webpräsenzen
6
1.1.5 Portale und Portalseiten
6
1.1.6 Blogs bzw. Weblogs
6
1.1.7 Wikis
6
1.2 Webdesigner, Webprogrammierer, Webmaster
6
1.2.1 Webdesigner
6
1.2.2 Webprogrammierer und Webentwickler
6
1.2.3 Webmaster
6
1.3 Auszeichnungs- und Programmiersprachen
6
1.4 Web 2.0
6
1.4.1 Rich Internet Applications (RIAs)
6
1.4.2 User Generated Content
6
1.4.3 Social Software und Social Networks
6
1.4.4 Content Syndication und Mashups
6
2 Aspekte professioneller Websites
6
2.1 Die Arbeitsumgebung
6
2.1.1 Hardware und Betriebssysteme
6
2.1.2 WYSIWYG- und code-basierte Editoren
6
2.1.3 Webbrowser
6
2.1.4 Grafik- und Multimedia-Software
6
2.1.5 Lokale serverseitige Entwicklungsumgebung
6
2.1.6 Diverse Tools
6
2.2 Usability und Accessibility
6
2.2.1 Wahrnehmung und Aufmerksamkeit
6
2.2.2 Kommunikation mit dem Anwender
6
2.2.3 Usability (Bedienbarkeit) von Websites
6
2.2.4 Accessibility (Zugänglichkeit) von Websites
6
2.3 Planung, Realisierung und Pflege
6
2.3.1 Konzeptphase
6
2.3.2 Realisierungsphase
6
2.3.3 Pflegephase
7
3 Relevante Quellen
7
3.1 Recommendations (Empfehlungen) des W3C
7
3.2 Originaldokumentationen
7
3.3 RFCs und Standarddokumente
7
Teil II: HTML und CSS
7
4 Basiswissen HTML und CSS
7
4.1 HTML und XHTML
7
4.1.1 SGML und XML
7
4.1.2 Interpretation von HTML und XHTML
7
4.1.3 Argumente für XHTML
7
4.1.4 Argumente für HTML
7
4.2 Eine vollständige Webseite mit HTML 4.01
7
4.2.1 Quelltext und Verschachtelungsstruktur
7
4.2.2 HTML-Darstellung im Browser
7
4.2.3 Fehlertoleranz bei Browsern
7
4.3 Allgemeine Regeln bei HTML
7
4.3.1 Elemente und Tags
7
4.3.2 Attribute und Attributwerte
7
4.3.3 Notation von Zeichen
7
4.3.4 Editierregeln
7
4.3.5 XHTML-spezifische Syntaxregeln
7
4.3.6 Beispiel einer vollständigen XHTML-Datei
7
4.4 Kopfinformationen einer Webseite
7
4.4.1 Dokumenttitel
7
4.4.2 Meta-Angaben
7
4.4.3 Logische Verlinkung mit anderen Inhalten
7
4.4.4 Adressbasis für referenzierte Dateien
7
4.5 Inhaltliche Strukturierung
7
4.5.1 Block-Elemente (Absatzformate) für den Fließtext
7
4.5.2 Inline-Elemente (Zeichenformate) für den Fließtext
7
4.5.3 Tabellen
7
4.6 Einfache Formatierung mit CSS
7
4.6.1 Das style-Attribut
7
4.6.2 Syntaxregeln für CSS-Formatdefinitionen
7
4.6.3 Farbangaben in CSS
7
4.6.4 Maßangaben in CSS
7
4.6.5 CSS-Eigenschaften für Schriftformatierung
7
4.6.6 Das Boxmodell von CSS
7
4.6.7 CSS-Eigenschaften für Abstände und Ausrichtung
7
4.6.8 CSS-Eigenschaften für Farbe und Form
7
4.6.9 CSS-Eigenschaften für die Positionierung von Elementen
7
4.6.10 CSS-Eigenschaften für Listen und Tabellen
7
4.7 Wiederverwendbare Formate mit CSS
7
4.7.1 Dokumentglobale und dokumentübergreifende Formate
7
4.7.2 Selektoren
8
4.7.3 Formatdefinitionen für Elemente
8
4.7.4 Formatdefinitionen für Klassen und Einzelelemente
8
4.7.5 Attributbedingte Formatdefinitionen
8
4.7.6 Formatdefinitionen für Pseudoelemente
8
4.8 Hyperlinks
8
4.8.1 URIs und Links in HTML
8
4.8.2 Links auf lokale Quellen
8
4.8.3 Anker und Links zu Ankern
8
4.8.4 Links auf Default-Dateinamen
8
4.8.5 Links auf beliebige Inhaltstypen
8
4.8.6 Sonderzeichen in URI-Angaben
8
4.8.7 Features für E-Mail-Verweise
8
4.8.8 Hyperlink-Optimierung
8
4.8.9 Optische Gestaltung von Hyperlinks mit CSS
8
4.9 Grafik, Flash und Multimedia
8
4.9.1 Geeignete Grafikformate
8
4.9.2 Bildbearbeitung in Hinblick auf Webseiten
8
4.9.3 Grafikreferenzen
8
4.9.4 Imagemaps (verweis-sensitive Grafiken)
8
4.9.5 Flash-Einbindung in HTML
8
4.9.6 Java-Applets in HTML
8
4.9.7 SVG-Vektorgrafiken in HTML
8
4.9.8 Eingebettete Objekte aller Art
8
4.10 HTML-Formulare
8
4.10.1 Formularbereiche
8
4.10.2 Formularelemente
8
4.10.3 Formulardesign und Formularoptimierung
8
4.10.4 Optische Verfeinerung von Formularen mit CSS
8
4.11 Allgemeine HTML-Attribute
8
5 Seitenlayouts
8
5.1 Seitenlayouts mit CSS
8
5.1.1 Typische Seitenaufteilungen
8
5.1.2 HTML- und CSS-Basis für ein Portallayout
8
5.1.3 HTML- und CSS-Basis für ein Winkellayout
8
5.1.4 HTML- und CSS-Basis für ein freies Bereichslayout
8
5.2 Navigations- und Menüleisten mit CSS
8
5.2.1 Vertikale Navigationsleiste mit Rollover-Effekt
8
5.2.2 Horizontale Navigationsleiste mit Rollover-Effekt
8
5.2.3 Horizontale Navigationsleiste mit Ausklappmenüs
8
6 Erweiterte Features von HTML und CSS
8
6.1 Mikroformate in HTML
8
6.1.1 Existierende Mikroformate und ihre Standardisierung
8
6.1.2 Mikroformate in der Praxis
8
6.1.3 Das Mikroformat für Kontaktdaten (hCard)
8
6.1.4 Das Mikroformat für Kalendereinträge (hCalendar)
9
6.1.5 Das Mikroformat für Reviews (hReview)
9
6.1.6 Mikroformate für Hyperlinks (hCard)
9
6.2 Mehrfenstertechnik (Frames)
9
6.2.1 HTML mit Framesets und Frames
9
6.2.2 Links zu anderen Frame-Fenstern
9
6.2.3 Rahmen und andere Frame-Eigenschaften
9
6.2.4 Fixe Bereiche ohne Frames
9
6.2.5 Eingebettete Frames
9
6.3 Automatische Überschriftennummerierung
9
6.3.1 Überschriftennummerierung mit CSS
9
6.3.2 Überschriftennummerierung mit JavaScript/DOM
9
6.4 @-Regeln in CSS
9
6.4.1 Die @import-Regel
9
6.4.2 Die @media-Regel
9
6.4.3 Die @page-Regel
9
6.4.4 Die @charset-Regel
9
6.5 CSS und die Browser
9
6.5.1 Netscape 4.x ausschließen
9
6.5.2 Internet Explorer ausschließen und explizit ansprechen
9
6.6 Ausblick auf HTML 5
9
6.6.1 Entwicklungsgeschichte und Spezifikation von HTML 5
9
6.6.2 DOM-Orientierung und XHTML-Variante von HTML 5
9
6.6.3 HTML-5-Elemente für Semantik und inhaltliche Struktur
9
6.6.4 HTML-5-Elemente für eingebettete (Multimedia-)Inhalte
9
6.6.5 HTML-5-Elemente für Scripting und Benutzerinteraktion
9
6.6.6 HTML-5-Elemente zur Textauszeichnung
9
6.6.7 Formularkontrolle in HTML 5
9
Teil III: Dynamische Seiten mit JavaScript/DOM
9
7 Basiswissen JavaScript/DOM
9
7.1 Implementierungen von JavaScript und DOM
9
7.1.1 JavaScript
9
7.1.2 DOM (Document Object Model)
9
7.2 JavaScript in HTML
9
7.2.1 Event-Handler und JavaScript
9
7.2.2 JavaScript-Bereiche in HTML
9
7.2.3 JavaScript in separaten Dateien
9
7.3 Sprachkonzepte von JavaScript
9
7.3.1 Allgemeines zur Code-Erstellung
9
7.3.2 Anweisungen, Ausdrücke und Blöcke
9
7.3.3 Variablen und Datentypen in JavaScript
9
7.3.4 Operatoren in JavaScript
9
7.3.5 Kontrollstrukturen in JavaScript
9
7.3.6 Funktionen, Parameter und Return-Werte
9
7.3.7 Funktionsausdrücke bzw. anonyme Funktionen
9
7.3.8 Die Objektstruktur von JavaScript
9
7.3.9 Datum und Zeit mit JavaScript
10
7.3.10 Mathematische Operationen mit JavaScript
10
7.3.11 Zeichenketten (Strings) in JavaScript
10
7.3.12 Arrays in JavaScript
10
7.3.13 Weitere Objekte, Eigenschaften und Methoden
10
7.3.14 Existenz von Objekten, Eigenschaften und Methoden
10
7.3.15 Eigene Objekte, Eigenschaften und Methoden
10
7.4 Zugriff auf Seiteninhalte (DOM)
10
7.4.1 Zugriff auf Elemente und Elementinhalte
10
7.4.2 Elemente erzeugen und integrieren
10
7.4.3 Zugriff auf Attribute und Werte
10
7.4.4 Zugriff auf CSS-Eigenschaften
10
8 Praxisfälle für JavaScript/DOM
10
8.1 Clientseitige Formularüberprüfung
10
8.1.1 Das Beispiel
10
8.1.2 Quelltexte und Erläuterungen
10
8.2 Navigation im Explorer-Stil
10
8.2.1 Das Beispiel
10
8.2.2 Quelltexte und Erläuterungen
10
8.3 Interaktive Tabellensortierung
10
8.3.1 Das Beispiel
10
8.3.2 Quelltexte und Erläuterungen
10
Teil IV: Die Server-Seite
10
9 Hosting und Webserver
10
9.1 Routing, IP-Adressen und Domain-Namen
10
9.1.1 Szenario eines Routings
10
9.1.2 Gateways und Routing-Tabellen
10
9.1.3 TCP/IP, IP-Adressen und Internetanbindung
10
9.1.4 IP-Adressen und Domain-Namen
10
9.2 Web-Hosting
10
9.2.1 Verhältnismäßigkeit von Angeboten und eigenen Zielen
10
9.2.2 Traffic und Transfervolumen
10
9.2.3 Webspace und Speicher
10
9.2.4 Serverzugänge über FTP, SCP/SFTP, Telnet und SSH
10
9.2.5 Domain-Namen und Umziehen von Domains
10
9.2.6 Server-Software und Features
10
9.2.7 Datensicherung, Überwachung und Support
10
9.3 Client, Server und Protokolle
10
9.3.1 TCP/IP und UDP
10
9.3.2 Daemons, Server und Ports
10
9.3.3 Das HTTP-Protokoll
10
9.4 Der Webserver Apache
10
9.4.1 Versionen, Bezug und Installation von Apache
10
9.4.2 Start, Stopp und Neustart von Apache
10
9.4.3 Test von Webseiten unter Apache
11
9.4.4 Die zentrale Konfigurationsdatei httpd.conf
11
9.4.5 Dezentrale Konfigurationsmöglichkeiten über .htaccess
11
9.4.6 Virtuelle Hosts mit Apache
11
9.4.7 Log-Dateien des Apache Webservers
11
10 Basiswissen Linux für Webworker
11
10.1 Linux als Server-Betriebssystem
11
10.1.1 Geschichte und Bedeutung von Linux
11
10.1.2 Aufbau und Komponenten von Linux
11
10.1.3 Standard-Verzeichnisbaum von Linux
11
10.2 Arbeiten auf Shell-Ebene
11
10.2.1 Prompt und Eingabe-Features
11
10.2.2 Kommandos, Optionen und Parameter
11
10.2.3 Umleitungen und Pipes
11
10.2.4 Kommandos für Benutzerverwaltung
11
10.2.5 Kommandos für Dateiverwaltung
11
10.2.6 Kommandos für Zugriffsrechte
11
10.2.7 Kommandos zur Systemüberwachung
11
10.2.8 Kommandos für Softwareverwaltung
11
10.3 Dateibearbeitung mit dem vi-Editor
11
10.3.1 Starten und Beenden von vi
11
10.3.2 Kommandomodus, Kommandozeile und Eingabemodus
11
10.4 Wichtige Konfigurationsdateien
11
10.4.1 Allgemeine Systemkonfigurationsdateien
11
10.4.2 Konfigurationsdateien für Benutzer und Gruppen
11
10.4.3 Zeitgesteuerte Programmausführung (crontab)
11
10.5 Einfache Shellscripts
11
10.5.1 Allgemeines zu Shellscripts
11
10.5.2 Parameter, Variablen und Funktionen
11
10.5.3 Bedingungen, Fallunterscheidungen und Schleifen
11
10.5.4 Komplettbeispiel: ein Errrorlog-Analyse-Script
11
11 Webseiten in HTTP-Umgebung
11
11.1 Webseiten serverseitig
11
11.1.1 URIs und Pfade
11
11.1.2 Default-Dateinamen und Verzeichnis-Browsing
11
11.1.3 GET- und POST-Daten
11
11.2 Server Side Includes (SSI)
11
11.2.1 Voraussetzungen
11
11.2.2 HTML-Templates mit SSI
11
11.2.3 Variablenausgabe mit SSI
11
11.2.4 Script-Einbindung mit SSI
11
11.3 Die CGI-Schnittstelle
11
11.3.1 CGI-Konfiguration
11
11.3.2 CGI-Aufrufmöglichkeiten in HTML
11
11.3.3 Beispiel eines Form-Mailers in Perl
12
11.4 Geschützte Webseiten
12
11.5 Automatische Weiterleitungen
12
11.6 Anpassung von Server-Fehlerseiten
12
Teil V: PHP und MySQL
12
12 Basiswissen PHP
12
12.1 PHP als Programmier- und Script-Sprache
12
12.1.1 Geschichte und heutige Bedeutung von PHP
12
12.1.2 Bezug und Installation von PHP
12
12.1.3 Einbindung von PHP in die Apache-Konfiguration
12
12.1.4 Konfiguration von PHP
12
12.2 PHP-Scripting für den Anfang
12
12.2.1 PHP in HTML
12
12.2.2 HTML in PHP
12
12.2.3 PHP mit Einsatz von HTML-Templates
12
12.2.4 Formularverarbeitung und Mail-Funktion mit PHP
12
12.2.5 Code-Erstellung und Code-Verteilung
12
12.3 Sprachkonzepte von PHP
12
12.3.1 Anweisungen, Blöcke, Ausdrücke und Kommentare
12
12.3.2 Variablen und Datentypen
12
12.3.3 Superglobale Variablen
12
12.3.4 Operatoren
12
12.3.5 Kontrollstrukturen
12
12.3.6 Funktionen, Parameter und Return-Werte
12
12.3.7 Klassen und Objekte in PHP 4
12
12.3.8 Objektorientierung in PHP 5
12
12.3.9 Reguläre Ausdrücke
12
12.4 PHP-Funktionsüberblick
12
12.4.1 Daten lesen und auswerten
12
12.4.2 Daten ausgeben und schreiben
12
12.4.3 Zeichenketten und Arrays
12
12.4.4 Datum und Zeit
12
12.4.5 Mathematische Funktionen
12
12.4.6 Datei- und Verzeichnisverwaltung
12
12.4.7 Session-Funktionen
12
12.4.8 Starten externer Programme und Kommandos
12
12.4.9 Diverse Funktionen
12
13 MySQL-Datenbanken und PHP
12
13.1 Basiswissen Datenbanken und MySQL
12
13.1.1 DBM-Systeme und Datenbanken
12
13.1.2 Client-Server-Struktur von Datenbanken
12
13.1.3 Die Transformationssprache SQL
12
13.1.4 Versionen, Bezug und Installation von MySQL
13
13.2 Basiswissen SQL
13
13.2.1 Erste SQL-Schritte mit dem mysql-Client
13
13.2.2 Datenbanken und Tabellen anlegen, ändern und löschen
13
13.2.3 Datensätze einfügen, ändern und löschen
13
13.2.4 Daten abfragen
13
13.2.5 Datenabfragen über mehrere Tabellen
13
13.2.6 Tipps für effiziente Datenbankabfragen
13
13.2.7 InnoDB-Tabellen
13
13.2.8 Benutzer- und Rechteverwaltung
13
13.3 Praxisbeispiel: Entwurf Webshop-Datenbank
13
13.3.1 Schritt 1: Datenaufnahme
13
13.3.2 Schritt 2: Ablaufbeschreibungen
13
13.3.3 Relationen entwerfen
13
13.3.4 Felder und Schlüssel definieren
13
13.4 MySQL-Datenbankzugriffe mit PHP
13
13.4.1 MySQL-Datenbankverbindungen mit PHP
13
13.4.2 Datenbankabfragen in PHP
13
13.5 Praxisbeispiel: Webbasierte Datenverwaltung
13
13.5.1 Das Handling bei der Datenverwaltung
13
13.5.2 Aufgaben des PHP-Scripts
13
13.5.3 Optimierungen für mehr Sicherheit
13
Teil VI: XML
13
14 XML für Webentwickler
13
14.1 Einsatz- und Verarbeitungsmöglichkeiten
13
14.1.1 XML-Editoren
13
14.1.2 XML-Parser
13
14.2 Aufbau von XML-Dokumenten
13
14.2.1 Elemente, Tags und Attribute
13
14.2.2 XML-Deklarationen und Dokumenttypdeklaration
13
14.2.3 Zeichenvorrat, PCDATA und CDTATA
13
14.2.4 Namensräume in XML
13
14.3 Wichtige öffentlich standardisierte XML-Formate
13
14.4 RSS als Basis für Newsfeeds und Podcasts
13
14.4.1 Aufbau eines RSS-Dokuments
13
14.4.2 RSS-Integration ins eigene Webangebot
13
14.5 Webservices - Anwendungskommunikation
13
14.5.1 SOAP, SOAP-Messages und SOAP-Envelopes
13
14.5.2 Header- und Body-Daten einer SOAP-Message
13
14.5.3 Die SOAP-Attribute mustUnderstand, role und relay
13
14.5.4 SOAP-Fehlerrückmeldungen (Faults)
13
14.5.5 Die Rolle von WSDL
13
14.5.6 UDDI und WSIL
13
14.5.7 Die SOAP-Alternative WDDX
14
14.6 Dokumenttypdefinitionen (DTDs)
14
14.6.1 Aufbau von DTDs
14
14.6.2 Elemente und Elementabhängigkeiten definieren
14
14.6.3 Attribute und Attributzuweisungen definieren
14
14.6.4 Entities definieren und referenzieren
14
14.6.5 Modulare DTDs
14
14.6.6 XML-Schema (XSD) als modernere DTD-Alternative
14
14.7 Übersetzung von XML-Daten in HTML/XHTML
14
14.7.1 Die Transformationssprache XSLT
14
14.7.2 XSLT-Prozessoren
14
14.7.3 Ein einfaches Transformationsbeispiel
14
14.7.4 Wichtige XSLT-Elemente
14
14.7.5 XPath-Funktionen für die Transformation
14
14.7.6 XPath-Adressierung bei der Transformation
14
14.8 PHP und XML
14
14.8.1 XML-Verarbeitung mit der SimpleXML-Klasse
14
14.8.2 XML-Verarbeitung mit der DOM-Klasse (libXML)
14
14.8.3 XML-Verarbeitung mit der XML-Klasse (Expat)
14
14.8.4 XSLT-Funktionen
14
14.8.5 Praxisbeispiel: News-Script für RSS-Feed-Funktion
14
14.8.6 Praxisbeispiel: Google-Suche als SOAP-Webservice
14
14.8.7 Praxisbeispiel: Plausibilitätsprüfung mit WDDX
14
15 Dynamische Webseiten mit Ajax
14
15.1 Die Ajax-Schnittstelle
14
15.1.1 HTTP-Kommunikation ?zwischendurch?
14
15.1.2 Ajax, DOM und XML
14
15.1.3 Das XMLHttpRequest-Objekt
14
15.2 Ajax in der Diskussion
14
15.2.1 Nachteile von Ajax
14
15.2.2 Ajax und die Sicherheit
14
15.3 Ajax im Detail
14
15.3.1 Ein einfacher Ajax-Kernel
14
15.3.2 Ablauf eines GET-Request
14
15.3.3 Ablauf eines POST-Request
14
15.3.4 Eigenschaften und Methoden des XML-HTTP-Objekts
14
15.4 Ajax-Praxisbeispiele
14
15.4.1 Formularüberprüfung mit Ajax
14
15.4.2 Tabellensortierung mit Ajax
14
15.4.3 Shoutbox mit Ajax
14
Teil VII: Betrieb von Websites
14
16 Site-Verwaltung
14
16.1 Rechte und Pflichten eines Site-Anbieters
14
16.1.1 Die Rechtslage
14
16.1.2 Impressumspflicht
14
16.1.3 Vorvertragliche Widerrufsbelehrung
15
16.1.4 Urheberrecht
15
16.1.5 Haftung für Inhalte und Links
15
16.1.6 Datenschutz und Auskunftspflicht
15
16.1.7 Namens- und Markenschutz
15
16.1.8 Softwarepatente
15
16.1.9 Abmahnungen
15
16.2 Site-Promoting und Aktualität
15
16.2.1 Launches und Relaunches
15
16.2.2 Websites und Suchmaschinen
15
16.2.3 Werbung für Websites
15
16.2.4 Newsticker, Newsletter und RSS-Newsfeed
15
16.2.5 Benutzerbasierte Inhalte
15
16.2.6 Favicons - die Site-Abrundung
15
Teil VIII: Referenz
15
17 Referenz zu HTML
15
17.1 HTML-Elemente
15
17.1.1 Hinweise zu den Tabellen
15
17.1.2 HTML-Elemente in alphabetischer Reihenfolge
15
17.2 HTML-Attribute
15
17.2.1 Hinweise zu den Tabellen
15
17.2.2 Attribute in alphabetischer Reihenfolge
15
17.3 Benannte HTML-Entities
15
17.3.1 Hinweise zu den Tabellen
15
17.3.2 Benannte Entities
15
18 CSS-Referenz
15
18.1 CSS-Eigenschaften
15
18.1.1 Hinweise zu den Tabellen
15
18.1.2 CSS-Eigenschaften in alphabetischer Reihenfolge
15
Index
16
Teil I - Intro
18
1 Begriffsklärungen
18
1.1 Websites, Webseiten und Homepages
18
1.1.1 Websites
19
1.1.2 Webseiten
20
1.1.3 Homepages
20
1.1.4 Webauftritte und Webpräsenzen
21
1.1.5 Portale und Portalseiten
21
1.1.6 Blogs bzw. Weblogs
22
1.1.7 Wikis
24
1.2 Webdesigner, Webprogrammierer, Webmaster
24
1.2.1 Webdesigner
25
1.2.2 Webprogrammierer und Webentwickler
26
1.2.3 Webmaster
27
1.3 Auszeichnungs- und Programmiersprachen
28
1.4 Web 2.0
28
1.4.1 Rich Internet Applications (RIAs)
29
1.4.2 User Generated Content
30
1.4.3 Social Software und Social Networks
31
1.4.4 Content Syndication und Mashups
34
2 Aspekte professioneller Websites
34
2.1 Die Arbeitsumgebung
34
2.1.1 Hardware und Betriebssysteme
36
2.1.2 WYSIWYG- und code-basierte Editoren
38
2.1.3 Webbrowser
40
2.1.4 Grafik- und Multimedia-Software
42
2.1.5 Lokale serverseitige Entwicklungsumgebung
43
2.1.6 Diverse Tools
44
2.2 Usability und Accessibility
45
2.2.1 Wahrnehmung und Aufmerksamkeit
47
2.2.2 Kommunikation mit dem Anwender
48
2.2.3 Usability (Bedienbarkeit) von Websites
49
2.2.4 Accessibility (Zugänglichkeit) von Websites
51
2.3 Planung, Realisierung und Pflege
52
2.3.1 Konzeptphase
53
2.3.2 Realisierungsphase
54
2.3.3 Pflegephase
56
3 Relevante Quellen
56
3.1 Recommendations (Empfehlungen) des W3C
58
3.2 Originaldokumentationen
58
3.3 RFCs und Standarddokumente
60
Teil II - HTML und CSS
62
4 Basiswissen HTML und CSS
62
4.1 HTML und XHTML
62
4.1.1 SGML und XML
63
4.1.2 Interpretation von HTML und XHTML
64
4.1.3 Argumente für XHTML
65
4.1.4 Argumente für HTML
65
4.2 Eine vollständige Webseite mit HTML 4.01
65
4.2.1 Quelltext und Verschachtelungsstruktur
66
4.2.2 HTML-Darstellung im Browser
68
4.2.3 Fehlertoleranz bei Browsern
68
4.3 Allgemeine Regeln bei HTML
68
4.3.1 Elemente und Tags
70
4.3.2 Attribute und Attributwerte
71
4.3.3 Notation von Zeichen
79
4.3.4 Editierregeln
81
4.3.5 XHTML-spezifische Syntaxregeln
83
4.3.6 Beispiel einer vollständigen XHTML-Datei
84
4.4 Kopfinformationen einer Webseite
85
4.4.1 Dokumenttitel
85
4.4.2 Meta-Angaben
92
4.4.3 Logische Verlinkung mit anderen Inhalten
95
4.4.4 Adressbasis für referenzierte Dateien
95
4.5 Inhaltliche Strukturierung
96
4.5.1 Block-Elemente (Absatzformate) für den Fließtext
104
4.5.2 Inline-Elemente (Zeichenformate) für den Fließtext
107
4.5.3 Tabellen
117
4.6 Einfache Formatierung mit CSS
117
4.6.1 Das style-Attribut
119
4.6.2 Syntaxregeln für CSS-Formatdefinitionen
120
4.6.3 Farbangaben in CSS
125
4.6.4 Maßangaben in CSS
127
4.6.5 CSS-Eigenschaften für Schriftformatierung
133
4.6.6 Das Boxmodell von CSS
140
4.6.7 CSS-Eigenschaften für Abstände und Ausrichtung
143
4.6.8 CSS-Eigenschaften für Farbe und Form
152
4.6.9 CSS-Eigenschaften für die Positionierung von Elementen
166
4.6.10 CSS-Eigenschaften für Listen und Tabellen
174
4.7 Wiederverwendbare Formate mit CSS
175
4.7.1 Dokumentglobale und dokumentübergreifende Formate
178
4.7.2 Selektoren
179
4.7.3 Formatdefinitionen für Elemente
182
4.7.4 Formatdefinitionen für Klassen und Einzelelemente
186
4.7.5 Attributbedingte Formatdefinitionen
188
4.7.6 Formatdefinitionen für Pseudoelemente
191
4.8 Hyperlinks
191
4.8.1 URIs und Links in HTML
196
4.8.2 Links auf lokale Quellen
197
4.8.3 Anker und Links zu Ankern
199
4.8.4 Links auf Default-Dateinamen
200
4.8.5 Links auf beliebige Inhaltstypen
201
4.8.6 Sonderzeichen in URI-Angaben
202
4.8.7 Features für E-Mail-Verweise
203
4.8.8 Hyperlink-Optimierung
205
4.8.9 Optische Gestaltung von Hyperlinks mit CSS
206
4.9 Grafik, Flash und Multimedia
207
4.9.1 Geeignete Grafikformate
208
4.9.2 Bildbearbeitung in Hinblick auf Webseiten
213
4.9.3 Grafikreferenzen
215
4.9.4 Imagemaps (verweis-sensitive Grafiken)
218
4.9.5 Flash-Einbindung in HTML
219
4.9.6 Java-Applets in HTML
220
4.9.7 SVG-Vektorgrafiken in HTML
222
4.9.8 Eingebettete Objekte aller Art
223
4.10 HTML-Formulare
224
4.10.1 Formularbereiche
225
4.10.2 Formularelemente
232
4.10.3 Formulardesign und Formularoptimierung
235
4.10.4 Optische Verfeinerung von Formularen mit CSS
236
4.11 Allgemeine HTML-Attribute
238
5 Seitenlayouts
238
5.1 Seitenlayouts mit CSS
239
5.1.1 Typische Seitenaufteilungen
243
5.1.2 HTML- und CSS-Basis für ein Portallayout
257
5.1.3 HTML- und CSS-Basis für ein Winkellayout
266
5.1.4 HTML- und CSS-Basis für ein freies Bereichslayout
276
5.2 Navigations- und Menüleisten mit CSS
277
5.2.1 Vertikale Navigationsleiste mit Rollover-Effekt
282
5.2.2 Horizontale Navigationsleiste mit Rollover-Effekt
287
5.2.3 Horizontale Navigationsleiste mit Ausklappmenüs
292
6 Erweiterte Features von HTML und CSS
292
6.1 Mikroformate in HTML
293
6.1.1 Existierende Mikroformate und ihre Standardisierung
295
6.1.2 Mikroformate in der Praxis
296
6.1.3 Das Mikroformat für Kontaktdaten (hCard)
299
6.1.4 Das Mikroformat für Kalendereinträge (hCalendar)
303
6.1.5 Das Mikroformat für Reviews (hReview)
306
6.1.6 Mikroformate für Hyperlinks (hCard)
310
6.2 Mehrfenstertechnik (Frames)
312
6.2.1 HTML mit Framesets und Frames
315
6.2.2 Links zu anderen Frame-Fenstern
316
6.2.3 Rahmen und andere Frame-Eigenschaften
317
6.2.4 Fixe Bereiche ohne Frames
322
6.2.5 Eingebettete Frames
324
6.3 Automatische Überschriftennummerierung
325
6.3.1 Überschriftennummerierung mit CSS
327
6.3.2 Überschriftennummerierung mit JavaScript/DOM
330
6.4 @-Regeln in CSS
330
6.4.1 Die @import-Regel
331
6.4.2 Die @media-Regel
333
6.4.3 Die @page-Regel
335
6.4.4 Die @charset-Regel
335
6.5 CSS und die Browser
335
6.5.1 Netscape 4.x ausschließen
336
6.5.2 Internet Explorer ausschließen und explizit ansprechen
338
6.6 Ausblick auf HTML 5
339
6.6.1 Entwicklungsgeschichte und Spezifikation von HTML 5
341
6.6.2 DOM-Orientierung und XHTML-Variante von HTML 5
342
6.6.3 HTML-5-Elemente für Semantik und inhaltliche Struktur
343
6.6.4 HTML-5-Elemente für eingebettete (Multimedia-)Inhalte
345
6.6.5 HTML-5-Elemente für Scripting und Benutzerinteraktion
346
6.6.6 HTML-5-Elemente zur Textauszeichnung
347
6.6.7 Formularkontrolle in HTML 5
350
Teil III - Dynamische Seiten mit JavaScript/DOM
352
7 Basiswissen JavaScript/DOM
353
7.1 Implementierungen von JavaScript und DOM
353
7.1.1 JavaScript
354
7.1.2 DOM (Document Object Model)
355
7.2 JavaScript in HTML
356
7.2.1 Event-Handler und JavaScript
359
7.2.2 JavaScript-Bereiche in HTML
364
7.2.3 JavaScript in separaten Dateien
367
7.3 Sprachkonzepte von JavaScript
367
7.3.1 Allgemeines zur Code-Erstellung
369
7.3.2 Anweisungen, Ausdrücke und Blöcke
370
7.3.3 Variablen und Datentypen in JavaScript
377
7.3.4 Operatoren in JavaScript
384
7.3.5 Kontrollstrukturen in JavaScript
390
7.3.6 Funktionen, Parameter und Return-Werte
394
7.3.7 Funktionsausdrücke bzw. anonyme Funktionen
394
7.3.8 Die Objektstruktur von JavaScript
396
7.3.9 Datum und Zeit mit JavaScript
400
7.3.10 Mathematische Operationen mit JavaScript
402
7.3.11 Zeichenketten (Strings) in JavaScript
406
7.3.12 Arrays in JavaScript
411
7.3.13 Weitere Objekte, Eigenschaften und Methoden
419
7.3.14 Existenz von Objekten, Eigenschaften und Methoden
420
7.3.15 Eigene Objekte, Eigenschaften und Methoden
422
7.4 Zugriff auf Seiteninhalte (DOM)
422
7.4.1 Zugriff auf Elemente und Elementinhalte
426
7.4.2 Elemente erzeugen und integrieren
430
7.4.3 Zugriff auf Attribute und Werte
433
7.4.4 Zugriff auf CSS-Eigenschaften
438
8 Praxisfälle für JavaScript/DOM
438
8.1 Clientseitige Formularüberprüfung
439
8.1.1 Das Beispiel
439
8.1.2 Quelltexte und Erläuterungen
453
8.2 Navigation im Explorer-Stil
454
8.2.1 Das Beispiel
455
8.2.2 Quelltexte und Erläuterungen
466
8.3 Interaktive Tabellensortierung
467
8.3.1 Das Beispiel
468
8.3.2 Quelltexte und Erläuterungen
480
Teil IV - Die Server-Seite
482
9 Hosting und Webserver
482
9.1 Routing, IP-Adressen und Domain-Namen
482
9.1.1 Szenario eines Routings
484
9.1.2 Gateways und Routing-Tabellen
486
9.1.3 TCP/IP, IP-Adressen und Internetanbindung
487
9.1.4 IP-Adressen und Domain-Namen
490
9.2 Web-Hosting
492
9.2.1 Verhältnismäßigkeit von Angeboten und eigenen Zielen
495
9.2.2 Traffic und Transfervolumen
496
9.2.3 Webspace und Speicher
497
9.2.4 Serverzugänge über FTP, SCP/SFTP, Telnet und SSH
502
9.2.5 Domain-Namen und Umziehen von Domains
504
9.2.6 Server-Software und Features
504
9.2.7 Datensicherung, Überwachung und Support
506
9.3 Client, Server und Protokolle
506
9.3.1 TCP/IP und UDP
508
9.3.2 Daemons, Server und Ports
510
9.3.3 Das HTTP-Protokoll
516
9.4 Der Webserver Apache
517
9.4.1 Versionen, Bezug und Installation von Apache
520
9.4.2 Start, Stopp und Neustart von Apache
520
9.4.3 Test von Webseiten unter Apache
521
9.4.4 Die zentrale Konfigurationsdatei httpd.conf
527
9.4.5 Dezentrale Konfigurationsmöglichkeiten über .htaccess
528
9.4.6 Virtuelle Hosts mit Apache
531
9.4.7 Log-Dateien des Apache Webservers
534
10 Basiswissen Linux für Webworker
535
10.1 Linux als Server-Betriebssystem
537
10.1.1 Geschichte und Bedeutung von Linux
539
10.1.2 Aufbau und Komponenten von Linux
541
10.1.3 Standard-Verzeichnisbaum von Linux
544
10.2 Arbeiten auf Shell-Ebene
544
10.2.1 Prompt und Eingabe-Features
547
10.2.2 Kommandos, Optionen und Parameter
549
10.2.3 Umleitungen und Pipes
550
10.2.4 Kommandos für Benutzerverwaltung
555
10.2.5 Kommandos für Dateiverwaltung
565
10.2.6 Kommandos für Zugriffsrechte
570
10.2.7 Kommandos zur Systemüberwachung
575
10.2.8 Kommandos für Softwareverwaltung
578
10.3 Dateibearbeitung mit dem vi-Editor
578
10.3.1 Starten und Beenden von vi
580
10.3.2 Kommandomodus, Kommandozeile und Eingabemodus
583
10.4 Wichtige Konfigurationsdateien
583
10.4.1 Allgemeine Systemkonfigurationsdateien
586
10.4.2 Konfigurationsdateien für Benutzer und Gruppen
588
10.4.3 Zeitgesteuerte Programmausführung (crontab)
591
10.5 Einfache Shellscripts
591
10.5.1 Allgemeines zu Shellscripts
593
10.5.2 Parameter, Variablen und Funktionen
597
10.5.3 Bedingungen, Fallunterscheidungen und Schleifen
601
10.5.4 Komplettbeispiel: ein Errrorlog-Analyse-Script
604
11 Webseiten in HTTP-Umgebung
604
11.1 Webseiten serverseitig
604
11.1.1 URIs und Pfade
605
11.1.2 Default-Dateinamen und Verzeichnis-Browsing
608
11.1.3 GET- und POST-Daten
609
11.2 Server Side Includes (SSI)
609
11.2.1 Voraussetzungen
611
11.2.2 HTML-Templates mit SSI
613
11.2.3 Variablenausgabe mit SSI
615
11.2.4 Script-Einbindung mit SSI
618
11.3 Die CGI-Schnittstelle
618
11.3.1 CGI-Konfiguration
620
11.3.2 CGI-Aufrufmöglichkeiten in HTML
620
11.3.3 Beispiel eines Form-Mailers in Perl
626
11.4 Geschützte Webseiten
629
11.5 Automatische Weiterleitungen
631
11.6 Anpassung von Server-Fehlerseiten
636
Teil V - PHP und MySQL
638
12 Basiswissen PHP
640
12.1 PHP als Programmier- und Script-Sprache
640
12.1.1 Geschichte und heutige Bedeutung von PHP
641
12.1.2 Bezug und Installation von PHP
643
12.1.3 Einbindung von PHP in die Apache-Konfiguration
648
12.1.4 Konfiguration von PHP
654
12.2 PHP-Scripting für den Anfang
654
12.2.1 PHP in HTML
660
12.2.2 HTML in PHP
665
12.2.3 PHP mit Einsatz von HTML-Templates
673
12.2.4 Formularverarbeitung und Mail-Funktion mit PHP
680
12.2.5 Code-Erstellung und Code-Verteilung
686
12.3 Sprachkonzepte von PHP
686
12.3.1 Anweisungen, Blöcke, Ausdrücke und Kommentare
688
12.3.2 Variablen und Datentypen
697
12.3.3 Superglobale Variablen
702
12.3.4 Operatoren
707
12.3.5 Kontrollstrukturen
713
12.3.6 Funktionen, Parameter und Return-Werte
718
12.3.7 Klassen und Objekte in PHP 4
728
12.3.8 Objektorientierung in PHP 5
738
12.3.9 Reguläre Ausdrücke
746
12.4 PHP-Funktionsüberblick
746
12.4.1 Daten lesen und auswerten
756
12.4.2 Daten ausgeben und schreiben
766
12.4.3 Zeichenketten und Arrays
783
12.4.4 Datum und Zeit
789
12.4.5 Mathematische Funktionen
791
12.4.6 Datei- und Verzeichnisverwaltung
798
12.4.7 Session-Funktionen
806
12.4.8 Starten externer Programme und Kommandos
809
12.4.9 Diverse Funktionen
814
13 MySQL-Datenbanken und PHP
815
13.1 Basiswissen Datenbanken und MySQL
815
13.1.1 DBM-Systeme und Datenbanken
816
13.1.2 Client-Server-Struktur von Datenbanken
817
13.1.3 Die Transformationssprache SQL
818
13.1.4 Versionen, Bezug und Installation von MySQL
821
13.2 Basiswissen SQL
821
13.2.1 Erste SQL-Schritte mit dem mysql-Client
824
13.2.2 Datenbanken und Tabellen anlegen, ändern und löschen
833
13.2.3 Datensätze einfügen, ändern und löschen
838
13.2.4 Daten abfragen
846
13.2.5 Datenabfragen über mehrere Tabellen
848
13.2.6 Tipps für effiziente Datenbankabfragen
852
13.2.7 InnoDB-Tabellen
854
13.2.8 Benutzer- und Rechteverwaltung
858
13.3 Praxisbeispiel: Entwurf Webshop-Datenbank
858
13.3.1 Schritt 1: Datenaufnahme
860
13.3.2 Schritt 2: Ablaufbeschreibungen
861
13.3.3 Relationen entwerfen
864
13.3.4 Felder und Schlüssel definieren
867
13.4 MySQL-Datenbankzugriffe mit PHP
869
13.4.1 MySQL-Datenbankverbindungen mit PHP
872
13.4.2 Datenbankabfragen in PHP
880
13.5 Praxisbeispiel: Webbasierte Datenverwaltung
881
13.5.1 Das Handling bei der Datenverwaltung
884
13.5.2 Aufgaben des PHP-Scripts
895
13.5.3 Optimierungen für mehr Sicherheit
900
Teil VI - XML
902
14 XML für Webentwickler
903
14.1 Einsatz- und Verarbeitungsmöglichkeiten
905
14.1.1 XML-Editoren
907
14.1.2 XML-Parser
908
14.2 Aufbau von XML-Dokumenten
908
14.2.1 Elemente, Tags und Attribute
910
14.2.2 XML-Deklarationen und Dokumenttypdeklaration
916
14.2.3 Zeichenvorrat, PCDATA und CDTATA
918
14.2.4 Namensräume in XML
921
14.3 Wichtige öffentlich standardisierte XML-Formate
922
14.4 RSS als Basis für Newsfeeds und Podcasts
928
14.4.1 Aufbau eines RSS-Dokuments
932
14.4.2 RSS-Integration ins eigene Webangebot
934
14.5 Webservices - Anwendungskommunikation
935
14.5.1 SOAP, SOAP-Messages und SOAP-Envelopes
936
14.5.2 Header- und Body-Daten einer SOAP-Message
938
14.5.3 Die SOAP-Attribute mustUnderstand, role und relay
941
14.5.4 SOAP-Fehlerrückmeldungen (Faults)
943
14.5.5 Die Rolle von WSDL
945
14.5.6 UDDI und WSIL
946
14.5.7 Die SOAP-Alternative WDDX
948
14.6 Dokumenttypdefinitionen (DTDs)
948
14.6.1 Aufbau von DTDs
951
14.6.2 Elemente und Elementabhängigkeiten definieren
957
14.6.3 Attribute und Attributzuweisungen definieren
960
14.6.4 Entities definieren und referenzieren
962
14.6.5 Modulare DTDs
963
14.6.6 XML-Schema (XSD) als modernere DTD-Alternative
967
14.7 Übersetzung von XML-Daten in HTML/XHTML
968
14.7.1 Die Transformationssprache XSLT
970
14.7.2 XSLT-Prozessoren
971
14.7.3 Ein einfaches Transformationsbeispiel
974
14.7.4 Wichtige XSLT-Elemente
982
14.7.5 XPath-Funktionen für die Transformation
988
14.7.6 XPath-Adressierung bei der Transformation
990
14.8 PHP und XML
992
14.8.1 XML-Verarbeitung mit der SimpleXML-Klasse
996
14.8.2 XML-Verarbeitung mit der DOM-Klasse (libXML)
1006
14.8.3 XML-Verarbeitung mit der XML-Klasse (Expat)
1012
14.8.4 XSLT-Funktionen
1013
14.8.5 Praxisbeispiel: News-Script für RSS-Feed-Funktion
1018
14.8.6 Praxisbeispiel: Google-Suche als SOAP-Webservice
1028
14.8.7 Praxisbeispiel: Plausibilitätsprüfung mit WDDX
1034
15 Dynamische Webseiten mit Ajax
1034
15.1 Die Ajax-Schnittstelle
1034
15.1.1 HTTP-Kommunikation »zwischendurch«
1036
15.1.2 Ajax, DOM und XML
1036
15.1.3 Das XMLHttpRequest-Objekt
1038
15.2 Ajax in der Diskussion
1038
15.2.1 Nachteile von Ajax
1039
15.2.2 Ajax und die Sicherheit
1040
15.3 Ajax im Detail
1040
15.3.1 Ein einfacher Ajax-Kernel
1044
15.3.2 Ablauf eines GET-Request
1045
15.3.3 Ablauf eines POST-Request
1047
15.3.4 Eigenschaften und Methoden des XML-HTTP-Objekts
1051
15.4 Ajax-Praxisbeispiele
1051
15.4.1 Formularüberprüfung mit Ajax
1056
15.4.2 Tabellensortierung mit Ajax
1062
15.4.3 Shoutbox mit Ajax
1070
Teil VII - Betrieb von Websites
1072
16 Site-Verwaltung
1072
16.1 Rechte und Pflichten eines Site-Anbieters
1072
16.1.1 Die Rechtslage
1076
16.1.2 Impressumspflicht
1077
16.1.3 Vorvertragliche Widerrufsbelehrung
1079
16.1.4 Urheberrecht
1080
16.1.5 Haftung für Inhalte und Links
1082
16.1.6 Datenschutz und Auskunftspflicht
1083
16.1.7 Namens- und Markenschutz
1084
16.1.8 Softwarepatente
1086
16.1.9 Abmahnungen
1088
16.2 Site-Promoting und Aktualität
1089
16.2.1 Launches und Relaunches
1090
16.2.2 Websites und Suchmaschinen
1095
16.2.3 Werbung für Websites
1097
16.2.4 Newsticker, Newsletter und RSS-Newsfeed
1101
16.2.5 Benutzerbasierte Inhalte
1105
16.2.6 Favicons - die Site-Abrundung
1108
Teil VIII - Referenz
1110
17 Referenz zu HTML
1110
17.1 HTML-Elemente
1110
17.1.1 Hinweise zu den Tabellen
1111
17.1.2 HTML-Elemente in alphabetischer Reihenfolge
1134
17.2 HTML-Attribute
1134
17.2.1 Hinweise zu den Tabellen
1134
17.2.2 Attribute in alphabetischer Reihenfolge
1153
17.3 Benannte HTML-Entities
1153
17.3.1 Hinweise zu den Tabellen
1153
17.3.2 Benannte Entities
1162
18 CSS-Referenz
1162
18.1 CSS-Eigenschaften
1162
18.1.1 Hinweise zu den Tabellen
1163
18.1.2 CSS-Eigenschaften in alphabetischer Reihenfolge
1196
Index
1196
!
1196
A
1197
B
1198
C
1199
D
1201
E
1202
F
1203
G
1203
H
1204
I
1205
J
1205
K
1206
L
1206
M
1208
N
1208
O
1209
P
1210
Q
1210
R
1211
S
1214
T
1215
U
1215
V
1216
W
1217
X
1217
Y
1217
Z
1233
© Copyright

