Ice Bear SoftNávrh WWW stránek a údržba WWW serveru

1. Základní principy
2. Co podporuji a proč
3. Co nepodporuji a proč
4. Apache
5. Čeština a slovenština na webu
6. Odkazy na další zdroje

Tato stránka popisuje můj přístup k návrhu WWW stránek a údržbě serveru Apache.

1. Základní principy

Podle mého názoru je hlavním smyslem WWW stránky předání nějaké informace co nejširšímu počtu adresátů. Informace se předá pouze tehdy, je-li prezentována ve formě, která se pohodlně čte a prohlíží. Nelze předpokládat, že všichni uživatelé Internetu mají stejný operační systém, stejný prohlížeč a stejný typ monitoru. Přestože moderní modemy již dosahují dosti velkých rychlostí a komutované linky jsou poměrně spolehlivé, nelze stále počítat s tím, že každý uživatel bude schopen v rozumném čase (a tudíž za přijatelnou cenu) načíst rozsáhlé grafické objekty. Hlavní informace by tedy vždy měla být textová a grafika by měla sloužit pouze jako dekorace pro zkrášlení stránek. Nadměrné užívání barev, které na některých méně kvalitních monitorech způsobí nečitelnost textu, a předepisování fontů, které nemusí všechny operační systémy obsahovat, nadělá většinou mnohem více škody než užitku. Proto se vyhýbám explicitním definicím písma a barvy určuji pomocí kaskádových stylů (CSS) tak, aby informační hodnota stránek nebyla znehodnocena, pokud si je uživatel vypne. Výjimkou jsou pouze stránky s fotogaleriemi.

Tento přístup dodržuji na všech stránkách, které jsem vytvořil a udržuji.

2. Co podporuji a proč

Na WWW stránkách podporuji:

3. Co nepodporuji a proč

Jak bylo uvedeno výše, snažím se, aby stránky byly dostupné co nejširšímu počtu uživatelů a aby je při čtení neobtěžovaly. Proto nepoužívám:

Nechci bránit vývoji nových řešení, ale je nutno si uvědomit, že k Internetu se nepřipojují jen experti na informační technologie, ale především laičtí uživatelé, kteří ani nevědí, že musí neustále instalovat nové nástroje, zkoušet při neúspěchu jiné prohlížeče a jiné operační systémy, překonfigurovávat nastavení monitoru. Pro běžnou veřejnost by se měla používat jen ta podmnožina, která je již standardizována a je správně implementována ve všech prohlížečích ve všech operačních systémech.

4. Apache

Apache je volně šiřitelný WWW server, který je dostupný pro všechny operační systémy včetně verze pro OS/2. Začal jsem jej používat před mnoha lety ve verzi 1.1.3, a to zejména pro snadnost instalace (pokud nebudete číst dokumentaci, zvládnete to během 5 minut). Stejně snadné je i psaní CGI skriptů a PHP skriptů. Apache podporuje i bezpečné spojení SSL.

Udržuji WWW server hroch486, pro CSTUG se starám o server obsahující informace o Zpravodaji sdružení.

5. Čeština a slovenština na webu

Z historických důvodů se pro české a slovenské texty využívá celá řada různých kódování. Na Internetu však převažují pouze dvě: standardizované ISO-8859-2 a jeho modifikace, spočívající ve změně kódu znaků ľ, ś, š, ť, ź, ž a odpovídajících verzálek, Windows-1250. V prvopočátcích českého a slovenského Internetu se uživatelé dělili na unixové s ISO-8859-2 a windowsové s Windows-1250. Server musel posílat alternativní text pro každý z těchto světů. Správným řešením by bylo využití MultiViews, ale většina uživatelů nedokáže nakonfigurovat svůj prohlížeč tak, aby v požadavku posílal odpovídající hlavičku AcceptCharset. Proto byly pro Apache vyvinuty dva moduly s podobnou funkcí: mod_czechmod_csacek. Protože rozdíly mezi oběma kódy jsou minimální, dochází občas k omylu zejména při zpracování formulářů, pokud neobsahují dostatek znaků s diakritickými znaménky.

Snad všechny současné prohlížeče podporují obě výše uvedená kódování s tím, že lokální kódování v daném operačním systému může být úplně jiné a prohlížeč při načítání stránky provádí konverzi. K tomu je nutné, aby prohlížeč získal informaci, v jakém kódu je stránka napsána. Pokud není kód uveden explicitně, pak podle RFC 2048 je to ISO-8859-1 (západoevropské), zatímco Internet Explorer v české verzi Windows nesprávně očekává Windows-1250. Zkušenější uživatelé proto vkládají přímo do stránek informaci o kódování v elementu <META http-equiv="Content-Type" content="text/html; charset=...">. Tato informace však přichází příliš pozdě a v některých případech je nutno stránku znovu natáhnout, aby se písmena s diakritickými znaménky zobrazila správně. Nejzáludnější je to v případě formulářů. Uživatel totiž vidí vše ve svém prohlížeči správně a vůbec netuší, že na server odejde jen hromádka nečitelného smetí...

Správným způsobem je nastavení informace o kódování přímo na serveru tak, aby se posílala v hlavičce Content-Type ještě předtím, než se začne odesílat vlastní obsah stránky. Počínaje verzí 1.3.10 lze u serveru Apache nastavit kódování souborů podle přípony direktivou AddCharset. Máme-li v určité části stromu dokumentů pouze české dokumenty a máme-li Apache verze 1.3.12 a vyšší, máme k dispozici direktivu AddDefaultCharset. Obě direktivy mohou být zapsány jak v konfiguračním souboru, tak v souboru .htaccess, a fungují i pro PHP skripty a interaktivní formuláře. Ověřil jsem je v prohlížečích HotJava, Netscape různých verzí počínaje 2.02, Internet Explorer různých verzích počínaje 3.0, a to v operačních systémech OS/2 3.0 i 4.0, Windows for Workgroups 3.11, Windows 95, 98, NT, 2000 v české i anglické verzi a v různých verzích linuxu. Na server byl vždy odeslán formulář v požadovaném kódování češtiny.

Téměř všechny problémy s východoevropským kódováním by se daly odstranit, kdyby všechny servery včetně těch, které poskytují prostor zdarma, měly ve své konfiguraci nastaveno:

AllowOverride Fileinfo

Žádná bezpečnostní díra se tímto příkazem neotvírá.

6. Odkazy na další zdroje

Vytvořil jsem několik programových nástrojů a napsal několik návodů k využití některých funkcí serveru Apache. Najdete je na stránce hroch486.icpf.cas.cz/wagner/apache.

Můžete si též přečíst můj článek OS/2 a WWW server Apache na stránkách Českého spolku uživatelů OS/2.