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.
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.
Na WWW stránkách podporuji:
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.
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í.
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_czech
a mod_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á.
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.