Ice Bear SoftWeb design and administration

1. Basic principles
2. What I support and why
3. What I do not support and why
4. Apache
5. The Czech and Slovak languages on the web
6. References to other resources

This page describes my approach to WWW design and administration of the Apache server.

1. Basic principles

In my opinion the main purpose of a WWW page is to pass on a kind of information to as many addressees as possible. The information may only be passed on if it is presented in a form which is comfortable to read and look at. It must not be assumed that all Internet users have identical operating system, identical browser and the same kind of monitor. Although modern modems already achieve high speed and commuted lines are quite reliable, it must not be assumed that each user will be able to download large graphic object within reasonable time (and thus at acceptable price). Therefore the main information should always be contained in a text and graphics should only serve for embellishing the pages. Superfluous use of colours, which may cause illegibility of the text on lower quality monitors, and prescription of fonts, which may not be available in all operating systems, makes most often much more harm than benefit. This is why my pages do not explicitely define fonts and colours are defined via cascaded stylesheets (CSS) in such a way that the information value of the pages is not degraded if the colours are switched off by the user. The only exception are pages with photo galleries.

I keep this approach on all pages that I designed and maintain.

2. What I support and why

I support the following:

3. What I do not support and why

As mentioned above, I try to make my pages available to as many users as possible and to ensure that they are not bothered by them. This is why I do not use:

I do not wish to prevent development of new solutions but it is necessary to realize that these are not only experts at information technology, who connect themselves to Internet, but mainly laymen, who do not even know that they must every now and then install new tools, try in case of failure other browsers and other operating systems, change configuration of monitor. Pages for general public should only use such a subset which is already standardized and correctly implemented in all browsers and all operating systems.

4. Apache

Apache is free WWW server which is available for all operating systems including version for OS/2. I started to use it many years ago in version 1.1.3 mainly because of ease of installation (if you do not read the documentation, you will succeed within 5 minutes). It is also easy to write CGI and PHP scripts. Apache also supports secure connection over SSL.

I maintain WWW server hroch486, and for CSTUG server containing information on Bulletin of CSTUG.

5. The Czech and Slovak languages on the web

For historical reasons Czech and Slovak texts make use of several different encodings. There are only two prevailing encodings in current use on the Internet: stantardized ISO-8859-2 and its modification, where codes of characters ľ, ś, š, ť, ź, ž and corresponding capitals are changed, Windows-1250. In the beginnings of Czech and Slovak Internet the users were subdivided into unix-like with ISO-8859-2 and windows-like with Windows-1250. A server had to send alternative text for each of these worlds. The correct solution would be utilization of MultiViews but most ordinary users cannot configure their browser so that its request contains corresponding AcceptCharset header. Therefore two similar modules were developed for Apache: mod_czech and mod_csacek. Since the differences between both encodings are minimal, there are frequent mistakes mainly in processing forms if they do not contain sufficient number of accented characters.

All nowadays browsers support both above mentioned encodings even though local encoding may be absolutely different and the browser must convert the text when downloading the page. In order to do it the browser must obtain information about encoding used in the page. If the encoding (character set) is not specified explicitly, then according to RFC 2048 it is ISO-8859-1 (West European), while Internet Explorer in the Czech version of Windows incorrectly expects Windows-1250. More experienced users therefore insert directly to the pages information about encoding in element <META http-equiv="Content-Type" content="text/html; charset=...">. This information, however, arrives too late and in some cases it is necessary to reload the page in order to display the accented characters correctly. It is trickiest in case of forms. For the user sees everything well in his or her browser and does not have the faintest anticipation that the server will receive nothing but a dump of illegible garbage...

The correct way is to set information about encoding on the server so that it is sent in the Content-Type header before the contents of the page starts to be transmitted. Beginning with Apache version 1.3.10 it is possible to set encoding of files according to the extension by means of the AddCharset directive. If some part of the document tree contains Czech documents only and if we have Apache 1.3.12 or later, we can also use the AddDefaultCharset directive. Both directives can be used in the configuration file as well as in the .htaccess file and work also with PHP scripts and interactive forms. I verified them in browsers HotJava, Netscape in several versions beginning with 2.02, Internet Explorer in several versions beginning with 3.0, and in operating systems OS/2 3.0 and 4.0, Windows for Workgroups 3.11, Windows 95, 98, NT, 2000 both in the Czech and English versions and in various versions of linux. The server always received the contents of the form in the requested encoding.

Almost all problems with East European encoding could be resolved if all servers, including those which offer free space, contained in its configuration:

AllowOverride Fileinfo

This directive does not open any security hole.

6. References to other resources

I have developed a few tools and wrote a few documents on making use of some functions of the Apache server. You can find them on hroch486.icpf.cas.cz/wagner/apache.