[Ebook] Professionelle Websites

Chris Hunter
Hier ein 35Mb EBook zum kostenlosen download. Spricht ziemlich viele Themen an allerdings gehts so wie ichs mitbekommen ahbe nicht wirklich in die tiefe. Sollte aber für jeden noch etwas nützliches rauszuholen sein. Für Anfänger auf jeden fall n guter Griff:

http://groups.google.com/group/professio...stenlos-als-pdf

Ich poste auch mal das Inhaltsverzeichnis rein...
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
60:
61:
62:
63:
64:
65:
66:
67:
68:
69:
70:
71:
72:
73:
74:
75:
76:
77:
78:
79:
80:
81:
82:
83:
84:
85:
86:
87:
88:
89:
90:
91:
92:
93:
94:
95:
96:
97:
98:
99:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
113:
114:
115:
116:
117:
118:
119:
120:
121:
122:
123:
124:
125:
126:
127:
128:
129:
130:
131:
132:
133:
134:
135:
136:
137:
138:
139:
140:
141:
142:
143:
144:
145:
146:
147:
148:
149:
150:
151:
152:
153:
154:
155:
156:
157:
158:
159:
160:
161:
162:
163:
164:
165:
166:
167:
168:
169:
170:
171:
172:
173:
174:
175:
176:
177:
178:
179:
180:
181:
182:
183:
184:
185:
186:
187:
188:
189:
190:
191:
192:
193:
194:
195:
196:
197:
198:
199:
200:
201:
202:
203:
204:
205:
206:
207:
208:
209:
210:
211:
212:
213:
214:
215:
216:
217:
218:
219:
220:
221:
222:
223:
224:
225:
226:
227:
228:
229:
230:
231:
232:
233:
234:
235:
236:
237:
238:
239:
240:
241:
242:
243:
244:
245:
246:
247:
248:
249:
250:
251:
252:
253:
254:
255:
256:
257:
258:
259:
260:
261:
262:
263:
264:
265:
266:
267:
268:
269:
270:
271:
272:
273:
274:
275:
276:
277:
278:
279:
280:
281:
282:
283:
284:
285:
286:
287:
288:
289:
290:
291:
292:
293:
294:
295:
296:
297:
298:
299:
300:
301:
302:
303:
304:
305:
306:
307:
308:
309:
310:
311:
312:
313:
314:
315:
316:
317:
318:
319:
320:
321:
322:
323:
324:
325:
326:
327:
328:
329:
330:
331:
332:
333:
334:
335:
336:
337:
338:
339:
340:
341:
342:
343:
344:
345:
346:
347:
348:
349:
350:
351:
352:
353:
354:
355:
356:
357:
358:
359:
360:
361:
362:
363:
364:
365:
366:
367:
368:
369:
370:
371:
372:
373:
374:
375:
376:
377:
378:
379:
380:
381:
382:
383:
384:
385:
386:
387:
388:
389:
390:
391:
392:
393:
394:
395:
396:
397:
398:
399:
400:
401:
402:
403:
404:
405:
406:
407:
408:
409:
410:
Vorwort 15
Teil 1 – Intro 17
1 Begriffsklärungen 19
1.1 Websites, Webseiten und Homepages 19
1.1.1 Websites 19
1.1.2 Webseiten 20
1.1.3 Homepages 21
1.1.4 Webauftritte und Webpräsenzen 21
1.1.5 Portale und Portalseiten 21
1.2 Webdesigner, Webprogrammierer, Webmaster 22
1.2.1 Webdesigner 22
1.2.2 Webprogrammierer und Webentwickler 23
1.2.3 Webmaster 24
1.3 Auszeichnungs- und Programmiersprachen 25

2 Aspekte professioneller Websites 27
2.1 Die Arbeitsumgebung 27
2.1.1 Hardware und Betriebssysteme 27
2.1.2 WYSIWYG- und code-basierte Editoren 29
2.1.3 Webbrowser 31
2.1.4 Grafik- und Multimedia-Software 33
2.1.5 Lokale serverseitige Entwicklungsumgebung 35
2.1.6 Diverse Tools 36
2.2 Usability und Accessibility 37
2.2.1 Wahrnehmung und Aufmerksamkeit 38
2.2.2 Kommunikation mit dem Anwender 39
2.2.3 Usability (Bedienbarkeit) von Websites 40
2.2.4 Accessibility (Zugänglichkeit) von Websites 41
2.3 Planung, Realisierung und Pflege 44
2.3.1 Konzeptphase 44
2.3.2 Realisierungsphase 46
2.3.3 Pflegephase 47
6 Inhalt

3 Relevante Quellen 49
3.1 Recommendations (Empfehlungen) des W3C 49
3.2 Originaldokumentationen 51
3.3 RFCs und Standarddokumente 51

Teil 2 – HTML und CSS 53
4 Basiswissen HTML und CSS 55
4.1 HTML und XHTML 55
4.1.1 SGML und XML 55
4.1.2 Interpretation von HTML und XHTML 56
4.1.3 Argumente für XHTML 57
4.2 Eine vollständige Webseite mit HTML 58
4.2.1 Quelltext und Verschachtelungsstruktur 58
4.2.2 HTML-Darstellung im Browser 59
4.2.3 Fehlertoleranz bei Browsern 60
4.3 Allgemeine Regeln bei HTML 60
4.3.1 Elemente und Tags 60
4.3.2 Attribute und Attributwerte 62
4.3.3 Notation von Zeichen 63
4.3.4 Dokumenttyp-Deklarationen 69
4.3.5 Editierregeln 72
4.3.6 XHTML-spezifische Syntaxregeln 73
4.3.7 Beispiel einer vollständigen XHTML-Datei 76
4.4 Kopfinformationen einer Webseite 77
4.4.1 Dokumenttitel 77
4.4.2 Meta-Angaben 78
4.4.3 Logische Verlinkung mit anderen Inhalten 84
4.4.4 Adressbasis für referenzierte Dateien 87
4.5 Inhaltliche Strukturierung 88
4.5.1 Block-Elemente (Absatzformate) für den Fließtext 88
4.5.2 Inline-Elemente (Zeichenformate) für den Fließtext 97
4.5.3 Tabellen 100
4.6 Einfache Formatierung mit CSS 109
4.6.1 Das style-Attribut 109
4.6.2 Syntaxregeln für CSS-Formatdefinitionen 111
4.6.3 Farbangaben in CSS 112
4.6.4 Maßangaben in CSS 117
4.6.5 CSS-Eigenschaften für Schriftformatierung 118
4.6.6 Das Boxmodell von CSS 125
4.6.7 CSS-Eigenschaften für Abstände und Ausrichtung 131
4.6.8 CSS-Eigenschaften für Farbe und Form 134
4.6.9 CSS-Eigenschaften für die Positionierung von Elementen 142
4.6.10 CSS-Eigenschaften für Listen und Tabellen 155
4.7 Wiederverwendbare Formate mit CSS 163
4.7.1 Dokumentglobale und dokumentübergreifende Formate 163
4.7.2 Selektoren 167
4.7.3 Formatdefinitionen für Elemente 168
Inhalt 7
4.7.4 Formatdefinitionen für Klassen und Einzelelemente 171
4.7.5 Attributbedingte Formatdefinitionen 174
4.7.6 Formatdefinitionen für Pseudoelemente 176
4.8 Hyperlinks 178
4.8.1 URIs und Links in HTML 179
4.8.2 Links auf lokale Quellen 184
4.8.3 Anker und Links zu Ankern 185
4.8.4 Links auf Default-Dateinamen 187
4.8.5 Links auf beliebige Inhaltstypen 188
4.8.6 Sonderzeichen in URI-Angaben 189
4.8.7 Features für E-Mail-Verweise 190
4.8.8 Hyperlink-Optimierung 191
4.8.9 Optische Gestaltung von Hyperlinks mit CSS 193
4.9 Grafik, Flash und Multimedia 194
4.9.1 Geeignete Grafikformate 195
4.9.2 Bildbearbeitung in Hinblick auf Webseiten 197
4.9.3 Grafikreferenzen 201
4.9.4 Image-Maps (verweis-sensitive Grafiken) 203
4.9.5 Flash-Einbindung in HTML 205
4.9.6 Java-Applets in HTML 207
4.9.7 SVG-Vektorgrafiken in HTML 208
4.9.8 Eingebettete Objekte aller Art 209
4.10HTML-Formulare 210
4.10.1Formularbereiche 212
4.10.2 Formularelemente 213
4.10.3 Formulardesign und Formularoptimierung 220
4.10.4 Optische Verfeinerung von Formularen mit CSS 223
4.11 Allgemeine HTML-Attribute 224

5 Seitenlayouts 227
5.1 Seitenlayouts mit CSS 227
5.1.1 Typische Seitenaufteilungen 228
5.1.2 HTML- und CSS-Basis für ein Portallayout 231
5.1.3 HTML- und CSS-Basis für ein Winkellayout 245
5.1.4 HTML- und CSS-Basis für ein freies Bereichslayout 254
5.2 Navigations- und Menüleisten mit CSS 264
5.2.1 Vertikale Navigationsleiste mit Rollover-Effekt 264
5.2.2 Horizontale Navigationsleiste mit Rollover-Effekt 269
5.2.3 Horizontale Navigationsleiste mit Ausklappmenüs 273

6 Erweiterte Features von HTML und CSS 277
6.1 Mehrfenstertechnik (Frames) 277
6.1.1 HTML mit Framesets und Frames 279
6.1.2 Links zu anderen Frame-Fenstern 283
6.1.3 Rahmen und andere Frame-Eigenschaften 283
6.1.4 Fixe Bereiche ohne Frames 284
6.1.5 Eingebettete Frames 289
6.2 Automatische Überschriftennummerierung 292
6.2.1 Überschriftennummerierung mit CSS 292
6.2.2 Überschriftennummerierung mit JavaScript/DOM 294
8 Inhalt
6.3 @-Regeln in CSS 297
6.3.1 Die @import-Regel 297
6.3.2 Die @media-Regel 298
6.3.3 Die @page-Regel 300
6.3.4 Die @charset-Regel 302
6.4 CSS und die Browser 302
6.4.1 Netscape 4.x ausschließen 303
6.4.2 Internet Explorer ausschließen und explizit ansprechen 303

Teil 3 – Dynamische
Seiten mit JavaScript/DOM 307
7 Basiswissen JavaScript/DOM 309
7.1 Implementierungen von JavaScript und DOM 310
7.1.1 JavaScript 310
7.1.2 DOM (Document Object Model) 311
7.2 JavaScript in HTML 312
7.2.1 Event-Handler und JavaScript 312
7.2.2 JavaScript-Bereiche in HTML 315
7.2.3 JavaScript in separaten Dateien 321
7.3 Sprachkonzepte von JavaScript 323
7.3.1 Allgemeines zur Code-Erstellung 323
7.3.2 Anweisungen, Ausdrücke und Blöcke 326
7.3.3 Variablen und Datentypen in JavaScript 326
7.3.4 Operatoren in JavaScript 333
7.3.5 Kontrollstrukturen in JavaScript 341
7.3.6 Funktionen, Parameter und Return-Werte 347
7.3.7 Die Objektstruktur von JavaScript 1.5 350
7.3.8 Datum und Zeit mit JavaScript 352
7.3.9 Mathematische Operationen mit JavaScript 356
7.3.10 Zeichenketten (Strings) in JavaScript 358
7.3.11 Arrays in JavaScript 362
7.3.12 Weitere Objekte, Eigenschaften und Methoden 367
7.3.13 Existenz von Objekten, Eigenschaften und Methoden 374
7.3.14 Eigene Objekte, Eigenschaften und Methoden 375
7.4 Zugriff auf Seiteninhalte (DOM) 377
7.4.1 Zugriff auf Elemente und Elementinhalte 378
7.4.2 Elemente erzeugen und integrieren 382
7.4.3 Zugriff auf Attribute und Werte 385
7.4.4 Zugriff auf CSS-Eigenschaften 389

8 Praxisfälle für JavaScript/DOM 393
8.1 Clientseitige Formularüberprüfung 393
8.1.1 Das Beispiel 394
8.1.2 Quelltexte und Erläuterungen 394
8.2 Navigation im Explorer-Stil 408
8.2.1 Das Beispiel 408
8.2.2 Quelltexte und Erläuterungen 409
Inhalt 9
8.3 Interaktive Tabellensortierung 420
8.3.1 Das Beispiel 421
8.3.2 Quelltexte und Erläuterungen 422

Teil 4 – Die Server-Seite 433
9 Hosting und Webserver 435
9.1 Routing, IP-Adressen und Domain-Namen 435
9.1.1 Szenario eines Routings 435
9.1.2 Gateways und Routing-Tabellen 437
9.1.3 TCP/IP, IP-Adressen und Internetanbindung 439
9.1.4 IP-Adressen und Domain-Namen 440
9.2 Web-Hosting 443
9.2.1 Verhältnismäßigkeit von Angeboten und eigenen Zielen 444
9.2.2 Traffic und Transfervolumen 448
9.2.3 Webspace und Speicher 449
9.2.4 Serverzugänge über FTP, SCP/SFTP, Telnet und SSH 450
9.2.5 Domain-Namen und Umziehen von Domains 455
9.2.6 Server-Software und Features 456
9.2.7 Datensicherung, Überwachung und Support 457
9.3 Client, Server und Protokolle 458
9.3.1 TCP/IP und UDP 459
9.3.2 Daemons, Server und Ports 461
9.3.3 Das HTTP-Protokoll 463
9.4 Der Webserver Apache 469
9.4.1 Versionen, Bezug und Installation von Apache 470
9.4.2 Start, Stopp und Neustart von Apache 473
9.4.3 Test von Webseiten unter Apache 473
9.4.4 Die zentrale Konfigurationsdatei httpd.conf 474
9.4.5 Dezentrale Konfigurationsmöglichkeiten über .htaccess 481
9.4.6 Virtuelle Hosts mit Apache 481
9.4.7 Log-Dateien des Apache Webservers 484

10 Basiswissen Linux für Webworker 489
10.1 Linux als Server-Betriebssystem 490
10.1.1 Geschichte und Bedeutung von Linux 492
10.1.2 Aufbau und Komponenten von Linux 493
10.1.3 Standard-Verzeichnisbaum von Linux 496
10.2 Arbeiten auf Shell-Ebene 499
10.2.1 Prompt und Eingabe-Features 499
10.2.2 Kommandos, Optionen und Parameter 501
10.2.3 Umleitungen und Pipes 503
10.2.4 Kommandos für Benutzerverwaltung 504
10.2.5 Kommandos für Dateiverwaltung 510
10.2.6 Kommandos für Zugriffsrechte 521
10.2.7 Kommandos zur Systemüberwachung 525
10.2.8 Kommandos für Softwareverwaltung 530

10 Inhalt
10.3 Dateibearbeitung mit dem vi-Editor 533
10.3.1 Starten und Beenden von vi 534
10.3.2 Kommandomodus, Kommandozeile und Eingabemodus 535
10.4 Wichtige Konfigurationsdateien 539
10.4.1 Allgemeine Systemkonfigurationsdateien 539
10.4.2 Konfigurationsdateien für Benutzer und Gruppen 541
10.4.3 Zeitgesteuerte Programmausführung (crontab) 543
10.5 Einfache Shellscripts 546
10.5.1 Allgemeines zu Shellscripts 547
10.5.2 Parameter, Variablen und Funktionen 549
10.5.3 Bedingungen, Fallunterscheidungen und Schleifen 553
10.5.4 Komplettbeispiel: ein Errrorlog-Analyse-Script 557

11 Webseiten in HTTP-Umgebung 561
11.1 Webseiten serverseitig 561
11.1.1 URIs und Pfade 561
11.1.2 Default-Dateinamen und Verzeichnis-Browsing 562
11.1.3 GET- und POST-Daten 565
11.2 Server Side Includes (SSI) 566
11.2.1 Voraussetzungen 566
11.2.2 HTML-Templates mit SSI 568
11.2.3 Variablenausgabe mit SSI 569
11.2.4 Script-Einbindung mit SSI 572
11.3 Die CGI-Schnittstelle 574
11.3.1 CGI-Konfiguration 575
11.3.2 CGI-Aufrufmöglichkeiten in HTML 577
11.3.3 Beispiel eines Form-Mailers in Perl 577
11.4 Geschützte Webseiten 583
11.5 Automatische Weiterleitungen 586
11.6 Anpassung von Server-Fehlerseiten 589

Teil 5 – PHP und MySQL 593
12 Basiswissen PHP 595
12.1 PHP als Programmier- und Script-Sprache 596
12.1.1 Geschichte und heutige Bedeutung von PHP 597
12.1.2 Bezug und Installation von PHP 598
12.1.3 Einbindung von PHP in die Apache-Konfiguration 600
12.1.4 Konfiguration von PHP 605
12.2 PHP-Scripting für den Anfang 611
12.2.1 PHP in HTML 612
12.2.2 HTML in PHP 617
12.2.3 PHP mit Einsatz von HTML-Templates 622
12.2.4 Formularverarbeitung und Mail-Funktion mit PHP 629
12.2.5 Code-Erstellung und Code-Verteilung 636

Inhalt 11
12.3 Sprachkonzepte von PHP 642
12.3.1 Anweisungen, Blöcke, Ausdrücke und Kommentare 642
12.3.2 Variablen und Datentypen 644
12.3.3 Superglobale Variablen 654
12.3.4 Operatoren 659
12.3.5 Kontrollstrukturen 664
12.3.6 Funktionen, Parameter und Return-Werte 671
12.3.7 Klassen und Objekte in PHP 4 675
12.3.8 Objektorientierung in PHP 5 685
12.3.9 Reguläre Ausdrücke 695
12.4 PHP-Funktionsüberblick 703
12.4.1 Daten lesen und auswerten 703
12.4.2 Daten ausgeben und schreiben 714
12.4.3 Zeichenketten und Arrays 723
12.4.4 Datum und Zeit 741
12.4.5 Mathematische Funktionen 747
12.4.6 Datei- und Verzeichnisverwaltung 749
12.4.7 Session-Funktionen 756
12.4.8 Starten externer Programme und Kommandos 764
12.4.9 Diverse Funktionen 767

13 MySQL-Datenbanken und PHP 771
13.1 Basiswissen Datenbanken und MySQL 771
13.1.1 DBM-Systeme und Datenbanken 772
13.1.2 Client-Server-Struktur von Datenbanken 772
13.1.3 Die Transformationssprache SQL 773
13.1.4 Versionen, Bezug und Installation von MySQL 775
13.2 Basiswissen SQL 778
13.2.1 Erste SQL-Schritte mit dem mysql-Client 778
13.2.2 Datenbanken und Tabellen anlegen, ändern und löschen 781
13.2.3 Datensätze einfügen, ändern und löschen 789
13.2.4 Daten abfragen 795
13.2.5 Datenabfragen über mehrere Tabellen 803
13.2.6 Tipps für effiziente Datenbankabfragen 805
13.2.7 InnoDB-Tabellen 809
13.2.8 Benutzer- und Rechteverwaltung 811
13.3 Praxisbeispiel: Entwurf Webshop-Datenbank 816
13.3.1 Schritt 1: Datenaufnahme 816
13.3.2 Schritt 2: Ablaufbeschreibungen 818
13.3.3 Relationen entwerfen 819
13.3.4 Felder und Schlüssel definieren 822
13.4 MySQL-Datenbankzugriffe mit PHP 825
13.4.1 MySQL-Datenbankverbindungen mit PHP 827
13.4.2 Datenbankabfragen in PHP 830
13.5 Praxisbeispiel: Webbasierte Datenverwaltung 838
13.5.1 Das Handling bei der Datenverwaltung 839
13.5.2 Aufgaben des PHP-Scripts 842
13.5.3 Optimierungen für mehr Sicherheit 853
12 Inhalt

Teil 6 – XML 857
14 XML für Webentwickler 859
14.1 Einsatz- und Verarbeitungsmöglichkeiten 860
14.1.1 XML-Editoren 862
14.1.2 XML-Parser 863
14.2 Aufbau von XML-Dokumenten 864
14.2.1 Elemente, Tags und Attribute 864
14.2.2 XML-Deklarationen und Dokumenttypdeklaration 867
14.2.3 Zeichenvorrat, PCDATA und CDTATA 872
14.2.4 Namensräume in XML 874
14.3 Wichtige öffentlich standardisierte XML-Formate 877
14.4 RSS als Basis für Newsfeeds und Podcasts 878
14.4.1 Aufbau eines RSS-Dokuments 883
14.4.2 RSS-Integration ins eigene Webangebot 888
14.5 Webservices – Anwendungskommunikation 889
14.5.1 SOAP, SOAP-Messages und SOAP-Envelopes 890
14.5.2 Header- und Body-Daten einer SOAP-Message 892
14.5.3 Die SOAP-Attribute mustUnderstand, role und relay 894
14.5.4 SOAP-Fehlerrückmeldungen (Faults) 896
14.5.5 Die Rolle von WSDL 898
14.5.6 UDDI und WSIL 900
14.5.7 Die SOAP-Alternative WDDX 901
14.6 Dokumenttypdefinitionen (DTDs) 903
14.6.1 Aufbau von DTDs 903
14.6.2 Elemente und Elementabhängigkeiten definieren 906
14.6.3 Attribute und Attributzuweisungen definieren 912
14.6.4 Entities definieren und referenzieren 915
14.6.5 Modulare DTDs 917
14.6.6 XML-Schema (XSD) als modernere DTD-Alternative 918
14.7 Übersetzung von XML-Daten in HTML/XHTML 922
14.7.1 Die Transformationssprache XSLT 923
14.7.2 XSLT-Prozessoren 925
14.7.3 Ein einfaches Transformationsbeispiel 926
14.7.4 Wichtige XSLT-Elemente 929
14.7.5 XPath-Funktionen für die Transformation 937
14.7.6 XPath-Adressierung bei der Transformation 942
14.8 PHP und XML 944
14.8.1 XML-Verarbeitung mit der SimpleXML-Klasse 946
14.8.2 XML-Verarbeitung mit der DOM-Klasse (libXML) 950
14.8.3 XML-Verarbeitung mit der XML-Klasse (Expat) 960
14.8.4 XSLT-Funktionen 966
14.8.5 Praxisbeispiel: News-Script für RSS-Feed-Funktion 968
14.8.6 Praxisbeispiel: Google-Suche als SOAP-Webservice 972
14.8.7 Praxisbeispiel: Plausibilitätsprüfung mit WDDX 982
Inhalt 13

Teil 7 – Betrieb von Websites 989
15 Site-Verwaltung 991
15.1 Rechte und Pflichten eines Site-Anbieters 991
15.1.1 Die Rechtslage 991
15.1.2 Impressumspflicht 994
15.1.3 Vorvertragliche Widerrufsbelehrung 996
15.1.4 Urheberrecht 997
15.1.5 Haftung für Inhalte und Links 999
15.1.6 Datenschutz und Auskunftspflicht 1000
15.1.7 Namens- und Markenschutz 1001
15.1.8 Softwarepatente 1003
15.1.9 Abmahnungen 1004
15.2 Site-Promoting und Aktualität 1007
15.2.1 Launches und Relaunches 1007
15.2.2 Websites und Suchmaschinen 1008
15.2.3 Werbung für Websites 1013
15.2.4 Newsticker, Newsletter und RSS-Newsfeed 1015
15.2.5 Benutzerbasierte Inhalte 1019
15.2.6 Favicons – die Site-Abrundung 1023

Teil 8 – Referenz 1025
16 Referenz zu HTML 1027
16.1 HTML-Elemente 1027
16.1.1 Hinweise zu den Tabellen 1027
16.1.2 HTML-Elemente in alphabetischer Reihenfolge 1027
16.2 HTML-Attribute 1051
16.2.1 Hinweise zu den Tabellen 1051
16.2.2 Attribute in alphabetischer Reihenfolge 1051
16.3 Benannte HTML-Entities 1072
16.3.1 Hinweise zu den Tabellen 1072
16.3.2 Benannte Entities 1072

17 CSS-Referenz 1081
17.1 CSS-Eigenschaften 1081
17.1.1 Hinweise zu den Tabellen 1081
17.1.2 CSS-Eigenschaften in alphabetischer Reihenfolge 1081