KOI   WIN   LAT

Как устроен этот сайт (для web-программистов)

Каждая страничка этого сайта находится в отдельной директории, в URL имя файла не указывается (например URL этой странички http://lena.kiev.ua/guts/ ). Благодаря этому странички индексируются всеми поисковиками (search engines), в том числе теми, которые "не любят" CGI-скрипты (например aport.ru не индексирует странички .cgi и .pl), хотя на самом деле странички этого сайта выдаются CGI-скриптами (SSI не используется), в каждой директории есть файл index.pl . Посмотрите копию файла /guts/index.pl - настоящего исходного текста этой странички (он лежит на webserver-е в кодировке koi8-r) и вызываемый из него скрипт /rct (Perl), обеспечивающий перекодирование (windows-1251, koi8-r, транслит), счетчики, webtracker, блокирование некоторых спамботов (email address harvesters). Webserver Apache под Linux, без русского Apache. В директории /tracker/ накапливается лог tracker-а, он автоматически высылается мне почтой ежедневно (при первом посещении сайта после полуночи GMT), причем cron для этого не нужен. Задержки при определении имен доменов и страны по IP-адресам посетителя и при отсылке лога почтой совершенно не сказываются на времени выдачи странички посетителю: сначала webserver заканчивает выдачу странички browser-у посетителя, и только после этого начинается работа webtracker-а. В логе webtracker-а (по строке на каждое посещение странички) фиксируются:

Текст каждого из файлов index.pl получен из обычного исходного текста HTML заменой каждого символа \ на два символа \\, затем @ на \@, $ на \$, добавлением двух строк в начале и двух строк в конце и вставкой в соответствующих местах имен переменных, созданных скриптом rct:

В корневой директории сайта кроме файлов index.pl (исходный текст корневой странички сайта) и rct я создала также поддиректории /tracker/ и /counters/ (в ней скрипт rct автоматически создает файлы счетчиков - по файлу длиной 8 байт на каждую страничку) и файл .htaccess такого содержания:

DirectoryIndex index.pl
Options +ExecCGI
Файлу index.pl в каждой директории сделан chmod 755. Файлу /rct не нужно делать chmod.

Я пользовалась в основном доступом к Интернету через email, в том числе выгружала файлы на webserver используя созданные мною же серверы mail->FTP. Мой почтовый клиент отправлял письма в кодировке koi8-r, именно поэтому файлы страничек и скрипт лежат на webserver-е в кодировке koi8-r - мне так удобнее. :) А сейчас на моем домашнем компьютере я пользуюсь операционной системой FreeBSD, и файлы в нем тоже в кодировке koi8-r.

Выдаваемые webserver-ом (Apache) скриптам переменные окружения я посмотрела с помощью скриптика:

#!/usr/bin/perl
print "Content-type: text/plain\n\n";
foreach ( sort keys %ENV ) { print "$_ = $ENV{$_}\n"; }

Сначала я скопировала файл robots.txt в корневую директорию моего сайта с http://groups.yahoo.com/robots.txt - он короче, чем страничка с сообщением 404 page not found, это немножко уменьшает траффик (при том же количестве посещений). Более существенна для уменьшения траффика (и ускорения повторной загрузки страничек) часть скрипта rct, выдающая Last-Modified. Позже я заменила robots.txt на рекомендованный в http://alicorna.com/techtips.html.

Насчет HTML - я исходила в первую очередь из принципов "Best viewed with any browser" и "KISS" (Keep It Simple, Stupid). Дизайн "резиновый", при любом разрешении начиная с 640x480 заполняет всю площадь экрана, но без прокрутки влево-вправо, для этого же без frames. Ну не люблю я неоправданные навороты, не следую компьютерной моде.

Мне интересны ваши замечания и отзывы. Мой email адрес - на корневой страничке этого сайта.

К этой страничке было 24532 обращений с 19 марта 2003.
Последние изменения внесены 11 марта 2015.
This page has been accessed 24532 times since March 19, 2003.
Last updated on March 11, 2015.