Эта очень небольшая утилита ( менее 15 Kb!!!) превращает ваш компьютер в полноценный Web-сервер. Сама программа задействует минимальное количество системных ресурсов, функционирование сервера не должно сказаться на производительности вашего компьютера. Сервер может работать в локальной сети или даже на DialUp-е. Веб-мастера могут запускать эту утилиту даже на своем локальном компьютере, и не входя в сеть отлаживать CGI-скрипты.
Наверно этот HTTP сервер имеет самый маленький размер.
Но это вовсе не означает, что возможности этого сервера меньше
чем возможности других подобных программ.
http.exe port=1080 max=24 def=index.html perl=C:\PERL\BIN\perl.exe php="C:\PROGRAM FILES\PHP\php.exe" nologТак же есть возможность загружать конфигурационные параметры из текстового файла. Для этого в командной строке нужно указать @имя_файла. Например:
log=C:\TEMP\http.log perl=C:\PERL\BIN\perlis.dll # supported !!! max=12 def=index.stm @www.cfg # include other configuration file hostpath=www.name.www;C:\WWW1 hostpath=max.name.www;C:\WWW2 # ... # End of file
Данная версия сервера поддерживает следующие теги:
include
<!--#include virtual="patch/file_name" -->
<!--#include file="full_patch/file_name" -->
Оба варианта этой директивы включают в документ содержимое
файла file_name. В первом случае документ ищется начиная с каталога
сервера. Во втором случае начиная с каталога текущего документа, и
это может быть любой файл на машине, т.е. если маршрут начинается с
"/" или "X:" то каталог текущего документа не подставляется. В обоих
случаях path вообще может быть опущен. Если в результате
подстановки обнаруживается, что запрашиваемый документ находится на
сервере в подкаталоге /CGI-BIN/ то он воспринимается как CGI и
запускается. Выходной поток соответственно транслируется, начало до
последовательности "\r\n\r\n" убирается. При этом если в имени не
содержалось символа '?' то CGI передается исходный запрос, с которым
обратились к родительскому документу. Если обнаружен '?' то
дальнейшая последовательность будет передана как запрос, она должна
быть соответственно преобразована Вами.
exec
<!--#exec cgi="file_name" -->
<!--#exec cmd="full_patch/file_name" -->
Запуск скрипта. Все аналогично include. В первом случае файл
запускается из коталога CGI-BIN, во втором должен быть задан
полный маршрут.
fsize и lastmod
<!--#fsize virtual="patch/file_name" -->
<!--#fsize file="full_patch/file_name" -->
<!--#lastmod virtual="patch/file_name" -->
<!--#lastmod file="full_patch/file_name" -->
Подставляет размер или дату последней модификации файла.
echo
<!--#echo var="var" -->
Выводит значение переменной.
printenv
<!--#printenv -->
Выводит все переменные.
break
<!--#break -->
Вызывает прекращение обработки документа.
if -- elif -- else -- endif
<!--#if expr="выражение" -->
текст
<!--#elif expr="выражение" -->
текст
<!--#elif expr="выражение" -->
текст
...
<!--#else -->
текст
<!--#endif -->
Подстановка по условию. Текст будет передаваться
пользователю в зависимости от истинности условий. Выражение
может содержать переменные и значения разделенные знаками
логических операций и скобками:
! -- перед выражением -- простое отрицание
= или == -- равно
!= -- не равно
<,>,<=,>= -- соответственно.
&& между выражениями логическое и.
|| между выражениями логическое или.
str1~str2 -- результат истина, если строка str2 является
частью строки str1.
Если вообще нет никакого знака сравнения, то значение
выражения сравнивается с "undefined".
Части elif и else могут быть пропущены.
Часть elif может повторяться сколько угодно раз.
Обязательно долен быть закрывающий тег endif.
set
<!--#set var="переменная" value="значение" -->
Добавление или изменение значения переменной. Не стоит
злоупотреблять этой опцией, так как и количество переменных
которые можно добавить и размер буфера под них ограничены.