Author(s): Stefan Münz
Publisher: Addison Wesley Verlag
Year: 2006
Language: German
Pages: 1144
Vorwort......Page 15
1.1.1 Websites......Page 19
1.1.2 Webseiten......Page 20
1.1.5 Portale und Portalseiten......Page 21
1.2.1 Webdesigner......Page 22
1.2.2 Webprogrammierer und Webentwickler......Page 23
1.2.3 Webmaster......Page 24
1.3 Auszeichnungs- und Programmiersprachen......Page 25
2.1.1 Hardware und Betriebssysteme......Page 27
2.1.2 WYSIWYG- und code-basierte Editoren......Page 29
2.1.3 Webbrowser......Page 31
2.1.4 Grafik- und Multimedia-Software......Page 33
2.1.5 Lokale serverseitige Entwicklungsumgebung......Page 35
2.1.6 Diverse Tools......Page 36
2.2 Usability und Accessibility......Page 37
2.2.1 Wahrnehmung und Aufmerksamkeit......Page 38
2.2.2 Kommunikation mit dem Anwender......Page 39
2.2.3 Usability (Bedienbarkeit) von Websites......Page 40
2.2.4 Accessibility (Zugänglichkeit) von Websites......Page 41
2.3.1 Konzeptphase......Page 44
2.3.2 Realisierungsphase......Page 46
2.3.3 Pflegephase......Page 47
3.1 Recommendations (Empfehlungen) des W3C......Page 49
3.3 RFCs und Standarddokumente......Page 51
4.1.1 SGML und XML......Page 55
4.1.2 Interpretation von HTML und XHTML......Page 56
4.1.3 Argumente für XHTML......Page 57
4.2.1 Quelltext und Verschachtelungsstruktur......Page 58
4.2.2 HTML-Darstellung im Browser......Page 59
4.3.1 Elemente und Tags......Page 60
4.3.2 Attribute und Attributwerte......Page 62
4.3.3 Notation von Zeichen......Page 63
4.3.4 Dokumenttyp-Deklarationen......Page 69
4.3.5 Editierregeln......Page 72
4.3.6 XHTML-spezifische Syntaxregeln......Page 73
4.3.7 Beispiel einer vollständigen XHTML-Datei......Page 76
4.4.1 Dokumenttitel......Page 77
4.4.2 Meta-Angaben......Page 78
4.4.3 Logische Verlinkung mit anderen Inhalten......Page 84
4.4.4 Adressbasis für referenzierte Dateien......Page 87
4.5.1 Block-Elemente (Absatzformate) für den Fließtext......Page 88
4.5.2 Inline-Elemente (Zeichenformate) für den Fließtext......Page 97
4.5.3 Tabellen......Page 100
4.6.1 Das style-Attribut......Page 109
4.6.2 Syntaxregeln für CSS-Formatdefinitionen......Page 111
4.6.3 Farbangaben in CSS......Page 112
4.6.4 Maßangaben in CSS......Page 117
4.6.5 CSS-Eigenschaften für Schriftformatierung......Page 118
4.6.6 Das Boxmodell von CSS......Page 125
4.6.7 CSS-Eigenschaften für Abstände und Ausrichtung......Page 131
4.6.8 CSS-Eigenschaften für Farbe und Form......Page 134
4.6.9 CSS-Eigenschaften für die Positionierung von Elementen......Page 142
4.6.10 CSS-Eigenschaften für Listen und Tabellen......Page 155
4.7.1 Dokumentglobale und dokumentübergreifende Formate......Page 163
4.7.2 Selektoren......Page 167
4.7.3 Formatdefinitionen für Elemente......Page 168
4.7.4 Formatdefinitionen für Klassen und Einzelelemente......Page 171
4.7.5 Attributbedingte Formatdefinitionen......Page 174
4.7.6 Formatdefinitionen für Pseudoelemente......Page 176
4.8 Hyperlinks......Page 178
4.8.1 URIs und Links in HTML......Page 179
4.8.2 Links auf lokale Quellen......Page 184
4.8.3 Anker und Links zu Ankern......Page 185
4.8.4 Links auf Default-Dateinamen......Page 187
4.8.5 Links auf beliebige Inhaltstypen......Page 188
4.8.6 Sonderzeichen in URI-Angaben......Page 189
4.8.7 Features für E-Mail-Verweise......Page 190
4.8.8 Hyperlink-Optimierung......Page 191
4.8.9 Optische Gestaltung von Hyperlinks mit CSS......Page 193
4.9 Grafik, Flash und Multimedia......Page 194
4.9.1 Geeignete Grafikformate......Page 195
4.9.2 Bildbearbeitung in Hinblick auf Webseiten......Page 197
4.9.3 Grafikreferenzen......Page 201
4.9.4 Image-Maps (verweis-sensitive Grafiken)......Page 203
4.9.5 Flash-Einbindung in HTML......Page 205
4.9.6 Java-Applets in HTML......Page 207
4.9.7 SVG-Vektorgrafiken in HTML......Page 208
4.9.8 Eingebettete Objekte aller Art......Page 209
4.10 HTML-Formulare......Page 210
4.10.1 Formularbereiche......Page 212
4.10.2 Formularelemente......Page 213
4.10.3 Formulardesign und Formularoptimierung......Page 220
4.10.4 Optische Verfeinerung von Formularen mit CSS......Page 223
4.11 Allgemeine HTML-Attribute......Page 224
5.1 Seitenlayouts mit CSS......Page 227
5.1.1 Typische Seitenaufteilungen......Page 228
5.1.2 HTML- und CSS-Basis für ein Portallayout......Page 231
5.1.3 HTML- und CSS-Basis für ein Winkellayout......Page 245
5.1.4 HTML- und CSS-Basis für ein freies Bereichslayout......Page 254
5.2.1 Vertikale Navigationsleiste mit Rollover-Effekt......Page 264
5.2.2 Horizontale Navigationsleiste mit Rollover-Effekt......Page 269
5.2.3 Horizontale Navigationsleiste mit Ausklappmenüs......Page 273
6.1 Mehrfenstertechnik (Frames)......Page 277
6.1.1 HTML mit Framesets und Frames......Page 279
6.1.3 Rahmen und andere Frame-Eigenschaften......Page 283
6.1.4 Fixe Bereiche ohne Frames......Page 284
6.1.5 Eingebettete Frames......Page 289
6.2.1 Überschriftennummerierung mit CSS......Page 292
6.2.2 Überschriftennummerierung mit JavaScript/DOM......Page 294
6.3.1 Die @import-Regel......Page 297
6.3.2 Die @media-Regel......Page 298
6.3.3 Die @page-Regel......Page 300
6.4 CSS und die Browser......Page 302
6.4.2 Internet Explorer ausschließen und explizit ansprechen......Page 303
7 Basiswissen JavaScript/DOM......Page 309
7.1.1 JavaScript......Page 310
7.1.2 DOM (Document Object Model)......Page 311
7.2.1 Event-Handler und JavaScript......Page 312
7.2.2 JavaScript-Bereiche in HTML......Page 315
7.2.3 JavaScript in separaten Dateien......Page 321
7.3.1 Allgemeines zur Code-Erstellung......Page 323
7.3.3 Variablen und Datentypen in JavaScript......Page 326
7.3.4 Operatoren in JavaScript......Page 333
7.3.5 Kontrollstrukturen in JavaScript......Page 341
7.3.6 Funktionen, Parameter und Return-Werte......Page 347
7.3.7 Die Objektstruktur von JavaScript 1.5......Page 350
7.3.8 Datum und Zeit mit JavaScript......Page 352
7.3.9 Mathematische Operationen mit JavaScript......Page 356
7.3.10 Zeichenketten (Strings) in JavaScript......Page 358
7.3.11 Arrays in JavaScript......Page 362
7.3.12 Weitere Objekte, Eigenschaften und Methoden......Page 367
7.3.13 Existenz von Objekten, Eigenschaften und Methoden......Page 374
7.3.14 Eigene Objekte, Eigenschaften und Methoden......Page 375
7.4 Zugriff auf Seiteninhalte (DOM)......Page 377
7.4.1 Zugriff auf Elemente und Elementinhalte......Page 378
7.4.2 Elemente erzeugen und integrieren......Page 382
7.4.3 Zugriff auf Attribute und Werte......Page 385
7.4.4 Zugriff auf CSS-Eigenschaften......Page 389
8.1 Clientseitige Formularüberprüfung......Page 393
8.1.2 Quelltexte und Erläuterungen......Page 394
8.2.1 Das Beispiel......Page 408
8.2.2 Quelltexte und Erläuterungen......Page 409
8.3 Interaktive Tabellensortierung......Page 420
8.3.1 Das Beispiel......Page 421
8.3.2 Quelltexte und Erläuterungen......Page 422
9.1.1 Szenario eines Routings......Page 435
9.1.2 Gateways und Routing-Tabellen......Page 437
9.1.3 TCP/IP, IP-Adressen und Internetanbindung......Page 439
9.1.4 IP-Adressen und Domain-Namen......Page 440
9.2 Web-Hosting......Page 443
9.2.1 Verhältnismäßigkeit von Angeboten und eigenen Zielen......Page 444
9.2.2 Traffic und Transfervolumen......Page 448
9.2.3 Webspace und Speicher......Page 449
9.2.4 Serverzugänge über FTP, SCP/SFTP, Telnet und SSH......Page 450
9.2.5 Domain-Namen und Umziehen von Domains......Page 455
9.2.6 Server-Software und Features......Page 456
9.2.7 Datensicherung, Überwachung und Support......Page 457
9.3 Client, Server und Protokolle......Page 458
9.3.1 TCP/IP und UDP......Page 459
9.3.2 Daemons, Server und Ports......Page 461
9.3.3 Das HTTP-Protokoll......Page 463
9.4 Der Webserver Apache......Page 469
9.4.1 Versionen, Bezug und Installation von Apache......Page 470
9.4.3 Test von Webseiten unter Apache......Page 473
9.4.4 Die zentrale Konfigurationsdatei httpd.conf......Page 474
9.4.6 Virtuelle Hosts mit Apache......Page 481
9.4.7 Log-Dateien des Apache Webservers......Page 484
10 Basiswissen Linux für Webworker......Page 489
10.1 Linux als Server-Betriebssystem......Page 490
10.1.1 Geschichte und Bedeutung von Linux......Page 492
10.1.2 Aufbau und Komponenten von Linux......Page 493
10.1.3 Standard-Verzeichnisbaum von Linux......Page 496
10.2.1 Prompt und Eingabe-Features......Page 499
10.2.2 Kommandos, Optionen und Parameter......Page 501
10.2.3 Umleitungen und Pipes......Page 503
10.2.4 Kommandos für Benutzerverwaltung......Page 504
10.2.5 Kommandos für Dateiverwaltung......Page 510
10.2.6 Kommandos für Zugriffsrechte......Page 521
10.2.7 Kommandos zur Systemüberwachung......Page 525
10.2.8 Kommandos für Softwareverwaltung......Page 530
10.3 Dateibearbeitung mit dem vi-Editor......Page 533
10.3.1 Starten und Beenden von vi......Page 534
10.3.2 Kommandomodus, Kommandozeile und Eingabemodus......Page 535
10.4.1 Allgemeine Systemkonfigurationsdateien......Page 539
10.4.2 Konfigurationsdateien für Benutzer und Gruppen......Page 541
10.4.3 Zeitgesteuerte Programmausführung (crontab)......Page 543
10.5 Einfache Shellscripts......Page 546
10.5.1 Allgemeines zu Shellscripts......Page 547
10.5.2 Parameter, Variablen und Funktionen......Page 549
10.5.3 Bedingungen, Fallunterscheidungen und Schleifen......Page 553
10.5.4 Komplettbeispiel: ein Errrorlog-Analyse-Script......Page 557
11.1.1 URIs und Pfade......Page 561
11.1.2 Default-Dateinamen und Verzeichnis-Browsing......Page 562
11.1.3 GET- und POST-Daten......Page 565
11.2.1 Voraussetzungen......Page 566
11.2.2 HTML-Templates mit SSI......Page 568
11.2.3 Variablenausgabe mit SSI......Page 569
11.2.4 Script-Einbindung mit SSI......Page 572
11.3 Die CGI-Schnittstelle......Page 574
11.3.1 CGI-Konfiguration......Page 575
11.3.3 Beispiel eines Form-Mailers in Perl......Page 577
11.4 Geschützte Webseiten......Page 583
11.5 Automatische Weiterleitungen......Page 586
11.6 Anpassung von Server-Fehlerseiten......Page 589
12 Basiswissen PHP......Page 595
12.1 PHP als Programmier- und Script-Sprache......Page 596
12.1.1 Geschichte und heutige Bedeutung von PHP......Page 597
12.1.2 Bezug und Installation von PHP......Page 598
12.1.3 Einbindung von PHP in die Apache-Konfiguration......Page 600
12.1.4 Konfiguration von PHP......Page 605
12.2 PHP-Scripting für den Anfang......Page 611
12.2.1 PHP in HTML......Page 612
12.2.2 HTML in PHP......Page 617
12.2.3 PHP mit Einsatz von HTML-Templates......Page 622
12.2.4 Formularverarbeitung und Mail-Funktion mit PHP......Page 629
12.2.5 Code-Erstellung und Code-Verteilung......Page 636
12.3.1 Anweisungen, Blöcke, Ausdrücke und Kommentare......Page 642
12.3.2 Variablen und Datentypen......Page 644
12.3.3 Superglobale Variablen......Page 654
12.3.4 Operatoren......Page 659
12.3.5 Kontrollstrukturen......Page 664
12.3.6 Funktionen, Parameter und Return-Werte......Page 671
12.3.7 Klassen und Objekte in PHP 4......Page 675
12.3.8 Objektorientierung in PHP 5......Page 685
12.3.9 Reguläre Ausdrücke......Page 695
12.4.1 Daten lesen und auswerten......Page 703
12.4.2 Daten ausgeben und schreiben......Page 714
12.4.3 Zeichenketten und Arrays......Page 723
12.4.4 Datum und Zeit......Page 741
12.4.5 Mathematische Funktionen......Page 747
12.4.6 Datei- und Verzeichnisverwaltung......Page 749
12.4.7 Session-Funktionen......Page 756
12.4.8 Starten externer Programme und Kommandos......Page 764
12.4.9 Diverse Funktionen......Page 767
13.1 Basiswissen Datenbanken und MySQL......Page 771
13.1.2 Client-Server-Struktur von Datenbanken......Page 772
13.1.3 Die Transformationssprache SQL......Page 773
13.1.4 Versionen, Bezug und Installation von MySQL......Page 775
13.2.1 Erste SQL-Schritte mit dem mysql-Client......Page 778
13.2.2 Datenbanken und Tabellen anlegen, ändern und löschen......Page 781
13.2.3 Datensätze einfügen, ändern und löschen......Page 789
13.2.4 Daten abfragen......Page 795
13.2.5 Datenabfragen über mehrere Tabellen......Page 803
13.2.6 Tipps für effiziente Datenbankabfragen......Page 805
13.2.7 InnoDB-Tabellen......Page 809
13.2.8 Benutzer- und Rechteverwaltung......Page 811
13.3.1 Schritt 1: Datenaufnahme......Page 816
13.3.2 Schritt 2: Ablaufbeschreibungen......Page 818
13.3.3 Relationen entwerfen......Page 819
13.3.4 Felder und Schlüssel definieren......Page 822
13.4 MySQL-Datenbankzugriffe mit PHP......Page 825
13.4.1 MySQL-Datenbankverbindungen mit PHP......Page 827
13.4.2 Datenbankabfragen in PHP......Page 830
13.5 Praxisbeispiel: Webbasierte Datenverwaltung......Page 838
13.5.1 Das Handling bei der Datenverwaltung......Page 839
13.5.2 Aufgaben des PHP-Scripts......Page 842
13.5.3 Optimierungen für mehr Sicherheit......Page 853
14 XML für Webentwickler......Page 859
14.1 Einsatz- und Verarbeitungsmöglichkeiten......Page 860
14.1.1 XML-Editoren......Page 862
14.1.2 XML-Parser......Page 863
14.2.1 Elemente, Tags und Attribute......Page 864
14.2.2 XML-Deklarationen und Dokumenttypdeklaration......Page 867
14.2.3 Zeichenvorrat, PCDATA und CDTATA......Page 872
14.2.4 Namensräume in XML......Page 874
14.3 Wichtige öffentlich standardisierte XML-Formate......Page 877
14.4 RSS als Basis für Newsfeeds und Podcasts......Page 878
14.4.1 Aufbau eines RSS-Dokuments......Page 883
14.4.2 RSS-Integration ins eigene Webangebot......Page 888
14.5 Webservices - Anwendungskommunikation......Page 889
14.5.1 SOAP, SOAP-Messages und SOAP-Envelopes......Page 890
14.5.2 Header- und Body-Daten einer SOAP-Message......Page 892
14.5.3 Die SOAP-Attribute mustUnderstand, role und relay......Page 894
14.5.4 SOAP-Fehlerrückmeldungen (Faults)......Page 896
14.5.5 Die Rolle von WSDL......Page 898
14.5.6 UDDI und WSIL......Page 900
14.5.7 Die SOAP-Alternative WDDX......Page 901
14.6.1 Aufbau von DTDs......Page 903
14.6.2 Elemente und Elementabhängigkeiten definieren......Page 906
14.6.3 Attribute und Attributzuweisungen definieren......Page 912
14.6.4 Entities definieren und referenzieren......Page 915
14.6.5 Modulare DTDs......Page 917
14.6.6 XML-Schema (XSD) als modernere DTD-Alternative......Page 918
14.7 Übersetzung von XML-Daten in HTML/XHTML......Page 922
14.7.1 Die Transformationssprache XSLT......Page 923
14.7.2 XSLT-Prozessoren......Page 925
14.7.3 Ein einfaches Transformationsbeispiel......Page 926
14.7.4 Wichtige XSLT-Elemente......Page 929
14.7.5 XPath-Funktionen für die Transformation......Page 937
14.7.6 XPath-Adressierung bei der Transformation......Page 942
14.8 PHP und XML......Page 944
14.8.1 XML-Verarbeitung mit der SimpleXML-Klasse......Page 946
14.8.2 XML-Verarbeitung mit der DOM-Klasse (libXML)......Page 950
14.8.3 XML-Verarbeitung mit der XML-Klasse (Expat)......Page 960
14.8.4 XSLT-Funktionen......Page 966
14.8.5 Praxisbeispiel: News-Script für RSS-Feed-Funktion......Page 968
14.8.6 Praxisbeispiel: Google-Suche als SOAP-Webservice......Page 972
14.8.7 Praxisbeispiel: Plausibilitätsprüfung mit WDDX......Page 982
15.1.1 Die Rechtslage......Page 991
15.1.2 Impressumspflicht......Page 994
15.1.3 Vorvertragliche Widerrufsbelehrung......Page 996
15.1.4 Urheberrecht......Page 997
15.1.5 Haftung für Inhalte und Links......Page 999
15.1.6 Datenschutz und Auskunftspflicht......Page 1000
15.1.7 Namens- und Markenschutz......Page 1001
15.1.8 Softwarepatente......Page 1003
15.1.9 Abmahnungen......Page 1004
15.2.1 Launches und Relaunches......Page 1007
15.2.2 Websites und Suchmaschinen......Page 1008
15.2.3 Werbung für Websites......Page 1013
15.2.4 Newsticker, Newsletter und RSS-Newsfeed......Page 1015
15.2.5 Benutzerbasierte Inhalte......Page 1019
15.2.6 Favicons - die Site-Abrundung......Page 1023
16.1.2 HTML-Elemente in alphabetischer Reihenfolge......Page 1027
16.2.2 Attribute in alphabetischer Reihenfolge......Page 1051
16.3.2 Benannte Entities......Page 1072
17.1.2 CSS-Eigenschaften in alphabetischer Reihenfolge......Page 1081
Index......Page 1117