Your SlideShare is downloading. ×
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Professionelle Websites
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Professionelle Websites

25,543

Published on

0 Comments
7 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
25,543
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
222
Comments
0
Likes
7
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. < Professionelle Websites >
  • 2. programmer’s choice Die Wahl für professionelle Programmierer und Softwareentwickler. Aner- kannte Experten wie z. B. Bjarne Stroustrup, der Erfinder von C++, liefern umfassendes Fachwissen zu allen wichtigen Programmiersprachen und den neuesten Technologien, aber auch Tipps aus der Praxis. Die Reihe von Profis für Profis! Hier eine Auswahl: Visual C# 2005 Frank Eller 1104 Seiten € 49,95 (D), € 51,40 (A) ISBN-13: 978-3-8273-2288-3 ISBN-10: 3-8273-2288-X Fortgeschrittene und Profis erhalten hier umfassendes Know-how zur Win- dows-Programmierung mit Visual C# in der Version 2. Nach einer Einführung ins .NET-Framework und die Entwicklungsumgebung geht der Autor aus- führlich auf die Grundlagen der C#-Programmierung ein. Anhand zahlreicher Beispiele zeigt er die verschiedenen Programmiertechniken wie z.B. Anwen- dungsdesign, Grafikprogrammierung oder das Erstellen eigener Komponen- ten. Besondere Schwerpunkte liegen auf der umfangreichen .NET-Klassen- bibliothek und Windows Forms sowie auf dem Datenbankzugriff mit ADO.NET. Visual Basic 2005 Michael Kofler 1344 Seiten € 59,95 (D), € 61,70 (A) ISBN-13: 978-3-8273-2338-5 ISBN-10: 3-8273-2338-X Sie brauchen ein solides Fundament für Visual Basic 2005? Dieser Titel bietet eine umfassende Spracheinführung, Konzepte zur objektorientierten Pro- grammierung und Lösungen für häufig benötigte Aufgaben (Dateizugriff, Multi-Threading etc.). Der Anwendungsteil konzentriert sich auf die Win- dows-Programmierung (Windows. Forms, Grafik, Drucken) und Datenbank- anwendungen (ADO.NET). Diese Neuauflage wurde vollständig überarbei- tet und neu strukturiert. Die Visual-Basic-Bücher von Michael Kofler gelten seit 1991 als Standardwerke.
  • 3. Stefan Münz <Professionelle Websites> Programmierung, Design und Administration von Webseiten An imprint of Pearson Education München • Boston • San Francisco • Harlow, England Don Mills, Ontario • Sydney • Mexico City Madrid • Amsterdam
  • 4. Bibliografische Information Der Deutschen Bibliothek Die Deutsche Bibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie; detaillierte bibliografische Daten sind im Internet über <http://dnb.ddb.de> abrufbar. Die Informationen in diesem Produkt werden ohne Rücksicht auf einen eventuellen Patentschutz veröffentlicht. Warennamen werden ohne Gewährleistung der freien Verwendbarkeit benutzt. Bei der Zusammenstellung von Abbildungen und Texten wurde mit größter Sorgfalt vorgegangen. Trotzdem können Fehler nicht vollständig ausgeschlossen werden. Verlag, Herausgeber und Autoren können für fehlerhafte Angaben und deren Folgen weder eine juristische Verantwortung noch irgendeine Haftung übernehmen. Für Verbesserungsvorschläge und Hinweise auf Fehler sind Verlag und Herausgeber dankbar. Alle Rechte vorbehalten, auch die der fotomechanischen Wiedergabe und der Speicherung in elektronischen Medien. Die gewerbliche Nutzung der in diesem Produkt gezeigten Modelle und Arbeiten ist nicht zulässig. Fast alle Hardware- und Softwarebezeichnungen und weitere Stichworte und sonstige Angaben, die in diesem Buch verwendet werden, sind als eingetragene Marken geschützt. Da es nicht möglich ist, in allen Fällen zeitnah zu ermitteln, ob ein Markenschutz besteht, wird das ®-Symbol in diesem Buch nicht verwendet. Umwelthinweis: Dieses Produkt wurde auf chlorfrei gebleichtem Papier gedruckt. Die Einschrumpffolie – zum Schutz vor Verschmutzung – ist aus umweltverträglichem und recyclingfähigem PE-Material. 10 9 8 7 6 5 4 3 2 1 08 07 06 ISBN-13: 978-3-8273-2370-5 ISBN-10: 3-8273-2370-3 © 2006 by Addison-Wesley Verlag, ein Imprint der Pearson Education Deutschland GmbH, Martin-Kollar-Straße 10–12, D-81829 München/Germany Alle Rechte vorbehalten Einbandgestaltung: Marco Lindenbeck, webwo GmbH (mlindenbeck@webwo.de) Lektorat: Brigitte Bauer-Schiewek, bbauer@pearson.de Korrektorat: Petra Kienle, München Herstellung: Elisabeth Prümm, epruemm@pearson.de Satz: reemers publishing services gmbh, Krefeld, www.reemers.de Druck und Verarbeitung: Kösel, Krugzell (www.KoeselBuch.de) Printed in Germany
  • 5. Inhalt 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. 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
  • 7. 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.10 HTML-Formulare 210 4.10.1 Formularbereiche 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. 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
  • 9. 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. 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
  • 11. 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. 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
  • 13. 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 Index 1117
  • 14. Vorwort Das Erstellen größerer Websites ist längst eine so vielschichtige Materie, dass ihr kein ein- zelnes Fachbuch mehr vollständig gerecht werden könnte. Jedes Buch, das sich mit dieser Materie befasst, muss entweder Spezialisierung oder Gesamtschau betreiben. Das vorlie- gende Buch versucht einen Spagat. Einerseits beschränkt es sich thematisch auf bestimmte Technologien, spezialisiert sich also, um nicht oberflächlich zu werden. Doch sein eigentli- cher Anspruch ist letztlich ein Gesamtüberblick auf die wichtigsten Aspekte moderner Webentwicklung, angefangen von den ersten Gehversuchen in HTML über client- und serverseitige Programmierung bis hin zur Konfiguration eines Webservers, ergänzt um fachfremde, aber relevante Aspekte wie etwa der juristischen Seite beim Betrieb einer Website. Das Buch setzt seine fachlichen Schwerpunkte so, dass Sie als Leser und Anwender die beschriebenen Technologien möglichst effizient und routiniert einsetzen können. Es geht an entscheidenden Stellen in die Tiefe, erhebt aber keinen Anspruch auf vollständige und gleichmäßig ausführliche Behandlung aller verfügbaren Features und Möglichkeiten. Mancher Leser mag aus diesem Grund einiges vermissen, beispielsweise die Beschreibung zahlreicher klassischer HTML-Attribute. Deren Verwendung ist jedoch – entgegen der immer noch landläufigen Praxis – in den meisten Fällen nicht mehr professionell und daher auch kein sinnvoller Vermittlungsgegenstand mehr. Stattdessen lernen Sie in die- sem Buch, wie Sie CSS richtig einsetzen. Das Buch wiederholt auch nicht – wie vielfach immer noch üblich – abermals die Paradig- men, Vorgehensweisen und Tricks aus dem vorigen Jahrhundert, also aus der proprietär- seligen Zeit von Netscape 4 und Internet Explorer 4. Es ist endgültig Zeit, über solch völlig veraltete Browser kein Wort mehr zu verlieren und Webdesign mit HTML, CSS und Scriptsprachen so zu vermitteln, dass die längst vorhandenen Standards, die von den heute verbreiteten Browsern auch leidlich umgesetzt werden, im Vordergrund stehen. Deshalb werden Sie in diesem Buch nichts mehr über font- oder layer-Elemente finden und nichts mehr über document.all. Sie dürfen sich mittlerweile guten Gewissens auf stan- dardkonformes Webdesign beschränken – und Sie sollten es! Die Zielgruppe dieses Buchs sind alle, die mit der Entwicklung anspruchsvoller Websites zu tun haben. Am meisten werden vermutlich jene Leser profitieren, die sich bei einem der zahlreichen Hosting-Provider einen eigenen Root-Server gemietet haben und darauf nun ihr eigener Herr sind. Gerade diese Zielgruppe benötigt umfangreiches Know-how auf verschiedensten Gebieten.
  • 15. 16 Vorwort Der Autor dieses Buchs ist vor allem bekannt durch seine Dokumentation SELFHTML, die ebenfalls auf zahlreiche Aspekte des Erstellens von Webseiten eingeht. Während SELFHTML jedoch systematischer vorgeht und eher eine Referenz mit vielen Beispielen ist, verfolgt das vorliegende Buch einen anderen Ansatz. Es hat die Aufgabe, einen Weg durch den Dschungel der Möglichkeiten zu zeigen, einen Weg, der sich an aktuellen Stan- dards und gesammelten Einsichten orientiert.
  • 16. Teil 1 – Intro Einige wichtige Begriffe, Aspekte und Originalinformationsquellen sollten Sie kennen, bevor Sie sich an die Entwicklung eines Webprojekts wagen, das die Bezeichnung »profes- sionell« verdient. Dieser erste Buchteil vermittelt das nötige Basiswissen.
  • 17. 1 Begriffsklärungen Das Web ist, verglichen mit anderen Medien, noch recht jung. In den Anfangsjahren herrschte eine teilweise babylonische Sprachverwirrung rund um die wichtigen Termini technici dieses neuen Mediums. Fast täglich tauchten neue Schlagwörter auf und die meisten davon wurden häufiger falsch benutzt als richtig. Mittlerweile ist allerdings ein Stadium eingetreten, in dem sich einigermaßen klar unterscheidbare Begriffe herauskris- tallisiert haben. Mit diesen Begriffen sollten Sie souverän umgehen können. 1.1 Websites, Webseiten und Homepages Den drei Substantiven der Überschrift lassen sich noch diverse weitere Wörter wie Web- auftritt, Webpräsenz, Webangebot, Internetseiten, Portal oder anglophile Varianten wie Webpages hinzufügen. All diese Wörter werden regelmäßig benutzt. 1.1.1 Websites Eine Website ist ein als Ganzes erkennbares Projekt, das in der Regel aus mehreren bis vie- len einzelnen, miteinander verlinkten Webseiten besteht. Der erkennbare Zusammenhang ergibt sich aus verschiedenen Faktoren:   Eine Website hat ein erkennbar identifizierendes und einheitliches Seitenlayout.   Es gibt eine feste, immer wieder an der gleichen Stelle erscheinende Navigationsmög- lichkeit. Über diese kann der Anwender jederzeit den Rückbezug zu zentraleren Seiten des Projekts herstellen, sie verschafft ihm ein räumliche Grobvorstellung vom Gesamt- projekt und vermittelt ihm, wo er sich innerhalb des Angebots gerade befindet.   Die meisten Websites sind heute über einen eigens dafür reservierten Domain-Namen aufrufbar. Ein Firmenauftritt im Web, ein Dokumentationsprojekt, ein elektronischer Anzeigen- markt, eine Partnerbörse, ein Fan-Projekt, ein Wiki-System, eine komplette Community- Infrastruktur, ein Informations-Service, eine Suchmaschine, ein Linkverzeichnis, ein Magazin – all das sind jeweils Websites. Die Webpräsenz der Frankfurter Allgemeine Zei- tung (http://www.faz.net/) ist eine Website, die offiziellen Seiten der Stadt München (http:// www.muenchen.de/) stellen eine Website dar, ein Blog wie der Schockwellenreiter (http:// www.schockwellenreiter.de/) ist eine Website usw.
  • 18. 20 1 Begriffsklärungen Der Begriff Website wird häufig mit dem einer einzelnen Webseite verwechselt. Der Grund ist, dass das englische site ein »falscher Freund« ist, der die Übersetzung »Seite« suggeriert, was aber falsch ist. Korrekt ist jedoch die Übersetzung »Sitz« im Sinne eines Unternehmenssitzes. 1.1.2 Webseiten Eine einzelne Webseite (oft auch als Internetseite bezeichnet) ist ein HTML-Dokument, das von einem Webbrowser angezeigt werden kann. Die genaue Abgrenzung lässt sich eigentlich nur technisch erklären, nämlich dadurch, dass die Webseite aus allem besteht, was zwischen den beiden HTML-Tags <html> und </html> notiert ist. Das können sein:   normale, strukturierte Textinhalte, also Überschriften, Textabsätze, Aufzählungen, Tabellen usw.,   Formulare, in denen der Anwender etwas eingeben, auswählen oder anklicken kann,   referenzierte Inhalte wie Grafiken, bewegte Animationen, Sound oder Anwendungen,   dynamische Bestandteile, die durch clientseitiges Scripting (JavaScript) zustande kom- men, inklusive zusätzlich geöffneter Popup-Fenster und dergleichen,   Definitionen, die das typische Seitenlayout bestimmen und sich sowohl innerhalb des HTML-Codes befinden als auch aus referenzierten Dateien stammen können. Ein wichtiges Kriterium einer einzelnen Webseite ist: Sie hat eine Internetadresse (URI) wie http://www.claudia-klinger.de/digidiary/04_03_05.shtml. Umgekehrt ist allerdings nicht jede solche Adresse auch eine Webseite. Denn auch in Webseiten referenzierte Grafiken, Flashmovies, Java-Applets usw. haben eigene URIs, ebenso wie Download-Dateien in Archivformaten, PDF-, Postscript-, Word- oder sonstige Dokumente, die häufig im Web zu finden sind. Sie sind deshalb im Web, weil sie einen URI haben, der mit http:// oder https:// beginnt, doch es sind keine Webseiten. Wenn die so genannte Frame-Technik zum Einsatz kommt, wird es problematisch. Genau- genommen weicht die Frame-Technik den Begriff der Webseite auf, was auch der Grund dafür ist, dass diese Technik mittlerweile von Fachleuten heftig kritisiert wird. Bei Ver- wendung von Frames wechseln nur Teile einer im Browser-Fenster angezeigten Seite beim Wechsel zu einer anderen Seite ihren Inhalt. In der Adresszeile des Browsers bleibt immer die gleiche Adresse stehen. Statische und dynamisch generierte Webseiten Eine Webseite muss keine Datei mit der Endung .htm oder .html sein. Ein vollständiges HTML-Dokument, reichend von <html> bis </html>, kann ebenso gut durch ein serverseiti- ges Script generiert werden. Der Browser (und der Anwender) merken davon nichts. Der Inhalt der Seite wird auf dem Server-Rechner dynamisch generiert und dann vom Web- server an den Webbrowser genauso wie eine normale HTML-Datei ausgeliefert.
  • 19. Websites, Webseiten und Homepages 21 Dynamisch generierte Seiten sind beispielsweise Ergebnisseiten einer Suche oder Bestäti- gungsseiten, die zuvor vom Anwender eingegebene Daten wiederholen, etwa für einen Kaufvorgang. Für dynamisch generierte Seiten kommen typischerweise serverseitige Pro- grammiersprachen wie PHP, JSP oder Perl zum Einsatz. Nicht selten werden auszuge- bende Inhalte dabei aus einer ebenfalls auf dem Server-Rechner laufenden Datenbank geholt. Deshalb können am Zustandekommen einer Webseite auch Datenbank-Manage- ment-Systeme wie MySQL beteiligt sein. 1.1.3 Homepages Der Begriff der Homepage ist bis heute mehrdeutig. Er kann folgende Bedeutungen annehmen:   Die im Browser eingestellte Startseite, die nach jedem Start des Browsers und bei jedem Anklicken des Home-Symbols wieder angezeigt wird.   Die Einstiegsseite einer Website, also die Webseite, die automatisch angezeigt wird, wenn im Browser z.B. nur www.stempelgeheimnis.de eingegeben wird.   Synonym für eine kleinere, meist persönliche Website, eine elektronische Visitenkarte im Web. In der letztgenannten Bedeutung hat »Homepage« allerdings manchmal auch einen leicht negativen Unterton. Der Unterton zielt auf Seiten, die typischerweise bei kostenlosen, werbefinanzierten Hostern unter ellenlangen Internetadressen erreichbar sind, auf denen meist pubertierende Jünglinge ihre ersten HTML-Gehversuche starten und dabei inmitten eines bunten, zappelnden Layout-Chaos über ihren Hamster oder das Innenleben ihres PCs berichten. 1.1.4 Webauftritte und Webpräsenzen Diese Begriffe stammen aus der kommerziellen Welt und werden immer dann gebraucht, wenn es um Seiten mit Präsentationscharakter geht, also um Unternehmensporträts, Informationsseiten zu Messen oder Großveranstaltungen usw. Gemeint sind in der Regel Websites. Allerdings können die Begriffe auch einschränkend sein. Ist vom Webauftritt oder der Webpräsenz einer Firma die Rede, so versteht sich dar- unter vor allem der öffentlich zugängliche, repräsentative Teil der Website, nicht aber unbedingt der Business-to-Business-Bereich für Geschäftspartner, die sich einloggen kön- nen, um personalisierte, nicht öffentliche Informationen abzurufen oder Geschäfte abzu- schließen. 1.1.5 Portale und Portalseiten Die etwas klassizistisch anmutende Bezeichnung »Portal« ist einerseits einer der zahlrei- chen modernen Ausdrücke, mit denen manche Anbieter versuchen, die Bedeutung ihrer Website anzuheben. Andererseits ist es jedoch durchaus auch ein nützlicher Begriff, um eine Sorte von Websites zu kennzeichnen, deren Aufgabe darin besteht, Besuchern the-
  • 20. 22 1 Begriffsklärungen meneinführende Informationen zu bieten und ansonsten noch zahlreiche Links auf spezi- ellere Seiten sowie z.B. themenbezogene Diskussionsforen oder Ähnliches anzubieten. Meist ist mit einer solchen Site auch ein attraktiver, allgemeiner Domainname verbunden. Gute Beispiele dafür sind http://www.recht.de/ oder http://www.medizin.de/. Innerhalb von Websites gibt es aber auch häufig einzelne Seiten, die Portalcharakter haben. Deshalb werden sie als Portalseiten bezeichnet. Diese Bezeichnung trifft vor allem auf die Start- bzw. Einstiegsseite einer Website zu. 1.2 Webdesigner, Webprogrammierer, Webmaster Auch in diesem Fall lässt sich die Liste der Ausdrücke beliebig weiterführen. So ist auch von Webautoren, Webredakteuren, Online-Redakteuren, Webentwicklern oder Internet- programmierern die Rede. Eines ist allerdings all diesen Bezeichnungen gemeinsam: Bei keiner von ihnen handelt es sich um eine offizielle Berufsbezeichnung. Jeder, der möchte, kann sich Webdesigner oder Webprogrammierer nennen, ohne damit juristische Probleme zu bekommen. Es gibt zwar zahlreiche Berufsschullehrgänge, Weiterbildungsmaßnahmen usw. mit dem beruflichen Ziel z.B. eines Webdesigners oder Webmasters. Doch es existiert keine kontrollierende Kammer oder Institution, die solche Berufsbezeichnungen schützt oder zentrale Zulas- sungsprüfungen durchführt. Wer sich mit Tätigkeiten dieser Art selbstständig macht und ohne eigene Angestellte arbeitet, ist ein typischer Freelancer (Freiberufler). Die Folge ist, dass all diese Bezeichnungen eine gewisse Unschärfe besitzen und sich in ihrer Bedeutung teilweise überlappen. Letzteres liegt allerdings auch daran, dass nicht wenige Websites immer noch in Personalunion von einem Alleskönner erstellt und betrie- ben werden oder dass zumindest wenige Bearbeiter ganz verschiedene Aufgaben wahr- nehmen, die alle Bereiche des Betriebs einer Website berühren. Eine begriffliche Abgrenzung ist also nicht ganz einfach, jedoch sinnvoll. 1.2.1 Webdesigner Ein Webdesigner entwirft und erstellt Webseiten. Dabei umfasst sein Aufgabengebiet jedoch weniger das Erstellen von Inhalten als vielmehr das Umsetzen von Layoutvorstel- lungen. Von Fall zu Fall gehört auch das Verteilen von Information auf verschiedene Sei- ten sowie das Verlinken von Seiten zu seinen Aufgaben. Webdesigner kommen schnell mit Programmierung in Berührung. Der Grund ist, dass ein Webdesigner meist nicht nur das Layout einer Website entwirft, sondern es auch realisie- ren soll. Dabei muss er möglicherweise nicht nur HTML-Code erstellen, sondern bei- spielsweise auch ein paar Dinge in PHP programmieren. Es gibt jedoch auch Webdesigner, die sich so nennen, aber eigentlich fast ausschließlich schicke Animationen in Flash produzieren. Sofern die Website gar nicht mehr aus HTML besteht, sondern nur noch aus Flash, ist diese Bezeichnung nicht einmal falsch. Handelt es
  • 21. Webdesigner, Webprogrammierer, Webmaster 23 sich jedoch nur um Flashmovies, die später in Webseiten eingebettet werden, dann ist eine Bezeichnung wie Multimedia-Designer vermutlich richtiger. Zu den fachlichen Qualitäten eines Webdesigners gehören auf jeden Fall:   grafisches Vorstellungs- und Gestaltungsvermögen,   souveräner Umgang mit Grafiksoftware, sowohl für Pixelgrafik als auch für Vektor- grafik,   solide Kenntnisse in HTML, CSS und JavaScript, um Layoutvorstellungen umsetzen zu können,   Kenntnisse in Macromedia Flash, da dies derzeit der De-facto-Standard für animierte oder multimediale Inhalte im Web ist,   Grundkenntnisse in serverseitiger Programmierung sowie beim Arbeiten auf Unix/ Linux-basierten Server-Rechnern,   je nach Auftraggeber auch Kenntnisse in bestimmten Content-Management-Systemen. Der Gesamtbereich der nötigen Kenntnisse ist also sehr breit gefächert, doch der Schwer- punkt liegt in der Fähigkeit, webgerechte, aber dennoch individuelle Layouts zu entwer- fen und mit den Basistechnologien der Webseitenerstellung umzugehen. 1.2.2 Webprogrammierer und Webentwickler Die Abgrenzung der Begriffe »Programmierer« und »Entwickler« ist nicht ganz einfach, betrifft aber nicht nur das Web, sondern die gesamte Softwarebranche. Ein Entwickler ist tendenziell jemand, der Software sowohl konzipieren als auch programmieren kann, wäh- rend ein Programmierer eben nur nach Konzepten programmiert, die er nicht selbst erstellt hat. Bei den Basissprachen HTML und CSS scheiden sich die Geister: Wer nur damit arbeitet, ist kein Entwickler oder Programmierer. Andererseits kommt schnell auch JavaScript ins Spiel und schon sind die Grenzen zur Programmierung überschritten. Im engeren Sinne versteht man unter Webprogrammierern oder Webentwicklern jedoch serverseitige Pro- grammierung. Wenn eine Website sich auch als Webanwendung bezeichnen lässt, wie etwa ein Auktions- haus, ein Kleinanzeigenmarkt, eine Tauschbörse oder ein Shop, dann kommen Entwickler und Programmierer ins Spiel, welche die gewünschte Funktionalität konzipieren und rea- lisieren müssen. Die Arbeiten können manchmal vor allem darin bestehen, am Markt vor- handene Webanwendungslösungen für eine konkrete Anwendung anzupassen. In wieder anderen Fällen sind völlig neue und eigene Lösungen zu entwickeln. Zu den fachlichen Qualitäten gehören auf jeden Fall:   Fähigkeit zu systemanalytischem und lösungsstrategischem Denken,   solide Beherrschung möglichst mehrerer verschiedener Programmiersprachen, darun- ter für Webprogrammierung typische Sprachen wie PHP oder Perl,
  • 22. 24 1 Begriffsklärungen   solide Kenntnisse in den Basissprachen HTML, CSS und JavaScript,   je nach Projekt auch Kenntnisse in Datenbank-Management-Systemen und in SQL,   solide Kenntnisse beim Arbeiten auf Unix/Linux-basierten Server-Rechnern,   je nach Auftrag auch Kenntnisse in speziellen, vorhandenen Softwarelösungen, etwa für Diskussionsplattformen, Shops, Content-Management usw., die an projekteigene Anforderungen anzupassen sind. 1.2.3 Webmaster Mit der Bezeichnung »Webmaster« wurde in früheren Jahren viel Unsinn getrieben. Jeder kleine Homepage-Bastler schimpfte sich am Ende jeder stolz erstellten HTML-Seite Web- master, weil er das auf anderen Seiten so gesehen hatte und toll fand. Ein Webmaster hat jedoch mit dem Erstellen von Webseiten nicht viel zu tun. Der Tätig- keitsbereich umfasst eher die Installation und Administration des Webservers sowie der Serversoftware, die für den Betrieb einer Website benötigt wird. Auf der anderen Seite muss das Tätigkeitsfeld jedoch auch von dem eines Systemadministrators abgegrenzt werden. Ein Webmaster ist normalerweise nicht dafür verantwortlich, welcher Linuxker- nel installiert wird, welche Datenträger zu einem Dateisystem gemountet werden oder wie die automatische Datensicherung organisiert wird. Der Webmaster ist der administrative Ansprechpartner (auch als admin-c bezeichnet) für alles, was mit dem Betrieb einer Website, jedoch nichts mit deren Inhalten oder der Pro- grammierung zu tun hat. Wenn Domains reserviert werden, muss unter anderem ein »Administrativer Ansprechpartner« bestimmt werden. Das deutsche Network Informa- tion Center Denic (http://www.denic.de/), die Vergabestelle für .de-Domains, definiert die Aufgaben dieser Person so: Der administrative Ansprechpartner (admin-c) ist die vom Domaininhaber benannte natürliche Person, die als sein Bevollmächtigter berechtigt und gegenüber DENIC auch verpflichtet ist, sämtliche die Domain [name].de betreffenden Angelegenheiten verbindlich zu entscheiden. Dieser Aufgabenbereich wird wiederum von dem des technischen Ansprechpartners und Zonenverwalters abgegrenzt, der in der Regel der Hosting-Provider oder ein Rechenzent- rum ist, in dem der oder die Server-Rechner einer Site gehostet werden. Auch wenn die Funktion gegenüber der Domain-Vergabestelle eher eine administrative ist, so muss ein Webmaster doch auch über technisches Detailwissen verfügen. Auf jeden Fall sind erforderlich:   solide Kenntnisse in Thematiken wie TCP/IP, HTTP-Protokoll, Domain Name Service oder Routing,   mindestens Grundkenntnisse in den Basissprachen HTML, CSS und JavaScript,   Grundkenntnisse bis solide Kenntnisse in serverseitigen Scriptsprachen,
  • 23. Auszeichnungs- und Programmiersprachen 25   solide Kenntnisse in der Installation und Konfiguration von Webservern, vor allem des Apache Webservers, sowie von Interpretern wie PHP, Perl oder Python, von Daten- bank-Management-Systemen wie MySQL und anderen, für Webanwendungen benö- tigten Softwareprodukten,   solide Kenntnisse beim Arbeiten auf Unix/Linux-basierten Server-Rechnern. 1.3 Auszeichnungs- und Programmiersprachen Es gibt Zeitgenossen, die geradezu militant eine strikte Unterscheidung von Auszeich- nungs- und Programmiersprachen propagieren (anstelle von Auszeichnungssprachen wird häufig auch von Markup-Sprachen gesprochen). Nicht selten steckt dahinter der ver- letzte Stolz eines Programmiererherzens, das mit ansehen muss, wie sich plötzlich junge Schüler, die ein paar HTML-Elemente kennen, als Programmierer bezeichnen. Obwohl die Trennung zwischen Markup- und Programmiersprachen nicht immer so klar ist wie pro- pagiert (z.B. ist XSLT eine XML-basierte Markup-Sprache, die aber wie eine Programmier- sprache prozedural interpretiert wird), so ist es doch sinnvoll, auf die Gemeinsamkeiten und Unterschiede zumindest von HTML und Programmiersprachen hinzuweisen. Gemeinsamkeiten sind:   Sowohl Markup- als auch Programmiersprachen sind künstliche Sprachen, welche die Aufgabe haben, einem Computer oder Computerprogramm etwas mitzuteilen oder anzuweisen.   Sowohl Markup- als auch Programmiersprachen werden als Quelltext notiert. Bestimm- te Zeichen, Zeichenfolgen und Schlüsselwörter im Quelltext werden beim Verarbeiten des Quelltextes als Bestandteile der künstlichen Sprache erkannt und entsprechend interpretiert. Unterschiede sind dagegen:   Mit Markup-Sprachen werden Dokumente erzeugt, mit Programmiersprachen Scripts oder Programme.   Dokumente von Markup-Sprachen werden von einem Parser gelesen, der die Doku- mentstruktur analysiert, während Scripts oder Programme als eine Folge von Anwei- sungen abgearbeitet werden, sei es von einem Interpreter oder vom Betriebssystem.   Eine Programmiersprache gilt nach landläufiger Ansicht dann als Programmierspra- che, wenn sich mit ihrer Hilfe eine so genannte Turingmaschine nachbauen lässt. Eine Turingmaschine besteht aus einem Speicher mit Feldern. In jedes Feld kann ein Zei- chen geschrieben werden. Die Turingmaschine kann den Speicher beschreiben bzw. überschreiben, und zwar auf Grund eines Programms. Die Turingmaschine verarbeitet und berechnet also einen Input und erzeugt daraus einen Output. Auszeichnungsspra- chen sind dazu nicht in der Lage.
  • 24. 26 1 Begriffsklärungen Aus Anwendersicht bedeutet der Unterschied erst einmal, dass Markup-Sprachen leichter zu erlernen sind als Programmiersprachen, da sie lediglich Daten mit Bedeutung aus- zeichnen, während Programmiersprachen das Konzipieren und Realisieren eines Pro- grammablaufs erfordern.
  • 25. 2 Aspekte professioneller Websites So viel vorweg: Eine professionelle Site zeichnet sich nicht durch den Umfang oder den betriebenen Entwicklungsaufwand aus. Auch eine einfache elektronische Visitenkarte im Web, bestehend aus einer einzelnen oder wenigen Seiten, kann das Attribut »professio- nell« verdienen. Professionalität ist daran erkennbar, was alles beachtet wurde, ob techni- sche Standards und wichtige Gestaltungsregeln eingehalten wurden und ob die Site insgesamt einen durchdachten und bis ins Detail ausgearbeiteten Eindruck vermittelt. 2.1 Die Arbeitsumgebung Wer Websites entwickelt, benötigt viele verschiedene Arten von Software. In diesem Abschnitt gehen wir darauf ein, welche Anforderungen ein Entwickler-PC erfüllen muss und welche Arbeitsmittel benötigt werden. 2.1.1 Hardware und Betriebssysteme Für das Erstellen von Webseiten ist weder eine bestimmte Hardware noch ein bestimmtes Betriebssystem erforderlich. Ein gewöhnlicher PC genügt, wobei jedoch folgende Voraus- setzungen an die Hardware und Umgebung erfüllt sein sollten:   True-Color-Monitor und entsprechende Grafikkarte, um bei grafischen oder Layout- arbeiten präziser arbeiten zu können.   Ausreichend Arbeitsspeicher für viele gleichzeitig geöffnete Anwendungen. Die Aus- stattung sollte sich im oberen Bereich der jeweils üblichen Ausstattung bewegen. Zum Redaktionszeitpunkt dieses Buchs wären das 512 bis 1024 Mbyte.   Internetanbindung, am besten mit Standleitung oder DSL-Flatrate über LAN-Anschluss. In diesen Fällen muss der PC auch über eine Netzwerkkarte verfügen. Herkömmliche Modem- oder ISDN-Anschlüsse mit Zeittakt-Einwahl sind zwar möglich, verzögern die Arbeit in der Praxis jedoch immer wieder. Betriebssysteme: MS Windows Bei den Betriebssystemen hat MS Windows einen überragenden Marktanteil. Für die meisten Zwecke beim Erstellen und Entwickeln von Websites ist diese Betriebssystem- familie auch geeignet. Allerdings sollte auf jeden Fall eines der auf NT basierenden Fami- lienmitglieder zum Einsatz kommen, also z.B. Windows 2000, 2003 oder XP. Ältere
  • 26. 28 2 Aspekte professioneller Websites Varianten wie Windows 95 oder 98 sind zu vermeiden, vor allem in Hinblick auf den Betrieb lokaler Server und generell auch bezüglich der Sicherheit beim Internetzugang. Vorteile von MS Windows beim Entwickeln von Webseiten sind:   Größtes Auswahlsortiment an Software.   Testen in der Umgebung, die auch von der Mehrheit der Seitenbesucher verwendet wird. Nachteile sind dagegen:   Windows unterstützt nicht alle Möglichkeiten (oder zumindest nicht in der Form, in der sie in Programmiersprachen wie PHP implementiert sind), die beim Entwickeln komplexer Websites möglicherweise benötigt werden, z.B. Mikrosekunden, Datei- Locking oder Prozess-Forking.   Da die meisten Server-Rechner, auf denen Websites am Ende in Betrieb gehen, Unix/ Linux-basierte Systeme sind, ist keine optimale Anpassung der lokalen Entwicklungs- umgebung an die Produktivumgebung möglich. Betriebssysteme: Apple Macintosh Die alte Weisheit, dass jemand, der ernsthaft mit Grafik zu tun hat, unbedingt einen Macintosh-Rechner braucht, gilt nur für den Print-Bereich, da das Macintosh-System intern Farben nach einem print-orientierten Farbmodell auflöst. Für Webgrafik zählen jedoch am Ende nur RGB-Farben. Dennoch lassen sich selbstverständlich auch mit Macs sehr gut Webseiten erstellen. Vorteil eines Apple Macintosh ist:   Besonders gute Abstimmung von Hard- und Software, was zu hoher Performance und Stabilität beim Arbeiten führt. Nachteile sind:   Nicht so viele kostenlose, aber qualitativ hochwertige Softwareprodukte.   Wie bei MS Windows lässt sich die lokale Entwicklungsumgebung nicht optimal an eine Unix/Linux-basierte Produktivumgebung anpassen. Betriebssysteme: Linux Endanwenderorientierte Linux-Distributionen wie die von SUSE sowie erfolgreiche grafi- sche Oberflächen wie KDE haben dazu beigetragen, dass Linux auch im Desktop-PC- Bereich zu einer ernstzunehmenden Alternative zu MS Windows oder Apple Macintosh geworden ist. Vorteile von Linux sind:   Optimale Unterstützung von Internetstandards sowie von C-basierten Programmier- sprachen wie etwa PHP.
  • 27. Die Arbeitsumgebung 29   Die Entwicklungsumgebung lässt sich sehr genau auf die Produktivumgebung eines Unix/Linux-basierten Server-Rechners abstimmen. Nachteil ist:   Nicht so große Auswahl an Software für grafische Oberflächen. Andere Betriebssysteme Für andere Unix-Derivate gilt im Prinzip das Gleiche wie für Linux. Betriebssysteme wie OS/2 oder BE, deren Zukunft entweder ungewiss ist oder die nur noch für speziellere Ein- satzgebiete weiterentwickelt werden, mögen zwar prinzipiell geeignet sein, doch dürfte der Mangel an Software und an Möglichkeiten zum ordentlichen Austesten von Websei- ten ein gewisses Hindernis darstell