Дневничок фаната программирования и портала

Здесь отводят душу администрация и посетители сайтов и портала «savesoul.ru→←logovo-tigra.ru». Этот дневник содержит темы (их может создавать только администратор) и комментарии (регистрации не требуют и доступны всем, если только не выключены модератором). Домен savesoul.ru имеет более 10 поддоменов, которые можно с некоторой натяжкой называть отдельными сайтами. Не знаю, приемлете ли Вы такую «натяжку», но когда будете упоминать слово «сайт», не забудьте сказать, какой из поддоменов имеете в виду. Если же ведёте речь о всём сообществе ресурсов в поддоменах, называйте это сообщество не «сайт», а «портал».

К списку публикаций

Великий и могучий Son hServer

рубрика: ТРАКТАТЫ, дата и время: 25.10.2021 06:32:30

До версии 1.3.0.294 программа-вебсервер «Son hServer» имела ряд багов (а до версии 0.6 даже не могла запустить CGI-скрипт на системах семейства WinNT). Но теперь всё существенно изменилось. Изменилось после того, как я просидел несколько бессонных ночей (и дней) в конце марта и начале апреля 2020 года. Кому-то локдаун принёс уйму неприятностей, а мне — прогресс в программировании моего скромного серверка (то есть «Son hServer»). Легко шло дело, а после того, как версия 1.3.0.294 была готова, я обновил PAD-файл этой софтины и вывел её в свет. Позже я обновлял версию по косметическим соображениям, а также с целью сделать программу независимой от системного реестра. Но главное было сделано. Теперь это творение рук моих вполне успешно запускает Perl и PHP, да и простые HTML-странички выдаёт как минимум не хуже предыдущих версий.
Можно писа́ть долго и много, но большинство усовершенствований описаны в ReadMe. Который я и хочу продублировать здесь, в этом посте. Напоследок ловите ссылку на домашнюю страницу программы «Son hServer».
Итак...
======================
+-------------------------------+
|                                          |
|   Son hServer   v 1.4.0.297  |
|                                          |
+-------------------------------+
  небольшой домашний WWW-сервер

           FREEWARE

Системные требования
--------------------
Процессор от 80386 и выше.
ОС Windows 95/98/ME или Windows NT/2000/XP
/Vista/7/8/10 или новее.
Windows Sockets 2 или новее.
Для функционирования как сервера Интернет
необходимо, естественно, соединение с сетью
Интернет (на время тестирования не обяза-
тельно).

Назначение
----------
  Son hServer предназначен для работы в ка-
честве WWW (HTTP) сервера Интернет или ин-
транет, также может быть использован для
тестирования веб-сайтов на локальной машине
перед их загрузкой на другой сервер.
  Son hServer представляет собой веб-сервер
с упрощенным управлением и создан прежде
всего для использования в системах семей-
ства Win9x (Windows 95/98/ME). В ОС семей-
ства NT для корректной работы следует перед
запуском остановить службу IIS (если она
есть).

Возможности
-----------
  Сервер обслуживает клиентские запросы по
стандартному HTTP порту (80). Поддерживают-
ся основные типы веб-документов, мультиме-
диа, VRML-модели, архивы и другие виды фай-
лов. При получении ссылок на имена катало-
гов без завершающего слэша (косой черты /)
генерируется редирект на правильный адрес.
Поддерживается протокол HTTP/1.1 (минималь-
ный набор инструкций).
  Возможна фильтрация соединений по клиент-
скому IP. Вызов приложений на стороне сер-
вера совместим с CGI/1.1.
  Файлы с атрибутами “скрытый” и “систем-
ный” клиентам не доступны.
  Две или более точки подряд в файловых
путях воспринимаются сервером как одна
точка (например, /file..ext будет обрабо-
тан как /file.ext)
  ИНТЕРФЕЙС многоязычный. Возможно отсле-
живание статистики соединений, запросов и
ошибок в реальном времени. Настраиваемое
протоколирование событий (запись в лог-
файл).
  Пользовательские страницы ошибок HTTP
могут быть созданы и настроены на показ
при ошибках 403, 404 и 500. При этом 403
по умолчанию отключена (заменяется на 404).
  НЕ ПОДДЕРЖИВАЮТСЯ: ISAPI; SSI и веб-боты;
условные запросы; аутентификация пользова-
телей; удалённое администрирование; HTTP
методы PUT, DELETE, TRACE, CONNECT.


    ********************************
    *** РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ ***
    ********************************

1. Запуск и остановка сервера

  Сервер начинает работать сразу со стар-
том программы. Любые изменения в настрой-
ках (кнопка «Настройки...») вступают в
действие сразу после нажатия кнопки «ДА»
в окне «Настройки сервера». Вызов окон
(«О программе», «Настройки сервера»)
не останавливает работу сервера— он про-
должает обслуживать запросы.
  Останавливается сервер при закрытии
программы. Если работающий сервер Вам ме-
шает, сверните его в значок, но не закры-
вайте.

2. Просмотр сайта

  Если Вы находитесь в Интернете (имеется
активное подключение), то просмотреть
свой сайт можете с любой машины Сети,
введя в браузере адрес:
 http://ВАШ_IP/
где ВАШ_IP —это ваш текущий IP-адрес
(узнать его можно, вызвав системное окно
«Запуск программы» и набрав в нём
winipcfg). Если у Вас есть зарегистриро-
ванный домен, то вызов сайта как обычно:
URL с Вашим доменом.
  В сетях интранет ситуация аналогична
вышеописанной.
  Если активного соединения с Интернет
или интранет нет, то используйте в бра-
узере следующий адрес:
 http://localhost/
Учтите—это работает только когда сервер
запущен.

3. Рекомендации по протоколированию

  Настройки протоколирования находятся
в окне «Настройки сервера» на вкладке
«Логи». Сам лог-файл программа записы-
вает в своём каталоге, он имеет имя
hserver.log
  Настоятельно советую в группе «Сохра-
нять в лог-файле сведения о:» без нужды
не устанавливать флажок «заголовках
клиентских запросов», т.к. это приводит
к быстрому увеличению объёма лог-файла.
  Также уменьшить скорость «роста» лог-
файла позволяет снятие флажка «запраши-
ваемых файлах (путях)» и (для популяр-
ных сайтов) «соединениях». Впрочем, на
всё воля администратора :)

4. С чего начать

  Сначала опробуйте сервер. Запустите
его, затем откройте браузер и введите
адрес
 localhost
Любуйтесь содержимым диска C в гипер-
текстовом виде :) Это убедит Вас, что
сервер и правда работает.
  Создайте специальный каталог (напри-
мер, C:\WWWRoot), в котором и будет
находиться Ваш сайт. Ещё лучше для
этой цели использовать отдельный дис-
ковый том.
  Затем нажмите в сервере кнопку «На-
стройки...» и в поле «Корневой каталог
сервера» вместо "C:" введите путь ка-
талога, специально предназначенного
Вами чтобы быть “корнем” сервера. Те-
перь никто из Сети не сможет добраться
до Вашего диска C, потому что доступ
будет ограничен указанным Вами “корне-
вым” каталогом.
ПРИМЕР:
  Допустим, Вы создали каталог
  C:\MyShared\HTTPfiles
  и указали его как корневой
  Теперь файл C:\Windows\notepad.exe
  будет недоступен посетителям сайта;
  файл C:\Секреты\Мой коктейль.doc
  тоже будет им недоступен,
  как и файлы C:\Windows\Me.pwl
  C:\MyShared\LocalNet\gamelist.txt
  и C:\MyShared\nicegirl.avi
  Файл C:\MyShared\HTTPfiles\wow.htm
  будет доступен посетителям по URL
  http://ВАШIPИЛИДОМЕН/wow.htm
  Файл C:\MyShared\HTTPfiles\pict.gif
  будет доступен посетителям по URL
  http://ВАШIPИЛИДОМЕН/pict.gif
Напомню, что “корень сервера” можно
создавать не только на диске C, но
вообще в любых доступных частях
файловой системы, даже на компакт-
диске или другой машине локальной
сети.
  Ещё один совет: желательно снять
в настройках флажок «Показывать со-
держимое каталога когда нет индекс-
файла» (кроме, может быть, тех слу-
чаев, когда Ваш сайт— WebBBS). Но
делайте это уже после того, как убе-
дитесь в работоспособности сервера
на вашей машине.

5. Замечания по производительности

  Хотя в требованиях и указан «мини-
мальный» процессор 80386, но для
Интернет-сервера лучше, конечно,
Pentium или более мощный. Для интра-
нет сетей в пределах организации
может хватить и 486-го, но всё же
рекомендую Pentium хотя бы ранних
модификаций, т.к. Winsock 2 — это
Winsock 2 и может не вынести изде-
вательств :)
  Как правило, скорость обслуживания
запросов зависит от скорости соеди-
нения, а если та большая (очень
большая!) и запросов много— то от
скорости файловой системы. Так что,
не стоит грешить на бедный Core i3
(тем более, что Core i3—вовсе не
бедно), когда у вас модем 28 k, и
тот один на всю локальную сеть :)
  Если страницы загружаются подозри-
тельно долго, попробуйте в настрой-
ках снять флажок «удалённых хостах»
в группе «Сохранять в лог-файле све-
дения о:». Если не поможет—ищите бо-
лее быстрого провайдера.

6. Рекомендации по безопасности

  В RFC не рекомендуется настраивать
сервера на отправку заголовка
"Server:". Трудно найти программу без
недостатков, и, даже если они—не дыры,
при умелом использовании тоже могут
принести проблемы. Из таких проблем
наиболее важна, пожалуй, так называе-
мая «denial of service» (DoS— не пу-
тать с ОС DOS), заключающаяся в пере-
грузке сервера запросами. Хотя заго-
ловок "Server:" может быть безобидным,
всё же нельзя утверждать, что, полу-
чив сведения о типе серверной про-
граммы, злоумышленник не подберёт
средств атаки, эффективных именно
против неё.
  Для защиты от DoS-атак существует
фильтрация соединений по IP адресу
(хотя, ею можно пользоваться и в
других целях). О её настройке читайте
ниже.
  Если Вы обнаружили, что с какого-
либо IP-адреса идёт подозрительно
много запросов (сотни/тысячи в
секунду или даже меньше, в зависи-
мости от структуры Вашего сайта),
и это повторяется с тупым упорством,
то можно заблокировать этот адрес.
Бывает так, что атаки идут с разных
IP в одной подсети. Тогда узнайте
с помощью WhoIs диапазон(ы) IP адре-
сов его провайдера и заблокируйте
его (их) полностью (подробнее о
WhoIs см. ПРИЛОЖЕНИЕ В).

7. Настройка IP-фильтров

  Диапазоны IP адресов можно указывать
в одной из двух форм:
  1) Глобальный диапазон, т.е. два IP
   адреса, разделённые дефисом. В диа-
   пазон войдёт всё, что (при пересчё-
   те в численные адреса) окажется
   между этими адресами (или равно лю-
   бому из них). ПРИМЕР:
     124.15.0.0-125.70.255.255
     включит в себя и "124.189.4.17",
     и "125.1.4.48"
   Это, пожалуй, лучший способ, т.к.
   WhoIs обычно выдаёт диапазоны адре-
   сов провайдеров именно в таком виде.
  2) Маски адресов. В масках можно за-
   менять числа символом звёздочки *
   ПРИМЕР:
     214.17.*.*
     включит в себя и "214.17.5.28",
     и "214.17.171.5",
     и другие, начинающиеся на "21.17."
   Реализовано и задание более экзоти-
   ческих масок, а именно можно указать
   диапазон значений для любого из по-
   лей. К ПРИМЕРУ:
     216.21-26.*.7-8
     включит и "216.25.50.7",
     и "216.22.155.8",
     но НЕ включит 216.20.50.7
     и НЕ включит 216.25.50.4
  Не вводите в адреса символов пробела,
букв и тому подобного.

8. Настройка вида Web-BBS

  Под Web-BBS я подразумеваю сайт-«ка-
чалку» файлов, у которого в сервере
включена опция «Показывать содержимое
каталога когда нет индекс-файла». Стиль
оформления можно задать, указав в на-
стройках URL CSS-файла, в котором Вы
и должны определить стили для элементов
страницы. Доступные элементы: BODY, H1,
TABLE, THEAD, TH, TR, TD, A
Также доступны классы:
TD.fname  -колонка с именами файлов и
           и ссылками на них;
TD.fsize  -колонка с размерами файлов.
  URL Вашего файла CSS можно задавать
в следующих формах:
-относительно корневого каталога сер-
 вера, т.е. URL, начинающийся знаком /
 (прямой слэш); это самый удобный ва-
 риант если хотите иметь ОДИНАКОВЫЙ
 вид у всех каталогов;
-относительно текущего каталога, т.е.,
 как правило, просто имя файла (с рас-
 ширением) безо всяких слэшей; в этом
 случае можно иметь разный вид для
 разных каталогов; но css-файл придёт-
 ся поместить в КАЖДЫЙ каталог, не
 имеющий индекс-файла;
-абсолютный путь с указанием имени ма-
 шины (сервера); это неудобный способ
 и годится только если Вы почему-либо
 держите css файл на другом сервере.
  Я приложил к программе несколько
css-файлов как примеры пользователь-
ского оформления каталогов. Можете
проверить их в действии:
 Копируете в корневой каталог сервера
 файл bbs1.css и прописываете в на-
 стройках /bbs1.css в поле «URL файла
 стилей (CSS) для индекс-страниц:».
 Запускаете браузер и смотрите.
  Естественно, что на место файла
bbs1.css можно подставить свой (в
корневой каталог сервера, а не в ка-
талог программы).

9. CGI приложения и CGI скрипты

  Запуск CGI программ возможен из
специального "каталога CGI" (см. в на-
стройках). Все скрипты/приложения ВНЕ
этого каталога НЕ ВЫПОЛНЯЮТСЯ.
  Иногда удобнее задать отдельную пап-
ку для такого каталога, особенно если
Вы отлаживаете сайт, предназначенный
для загрузки на какой-либо веб-
хостинг. Тогда есть смысл сделать
структуру каталогов похожей на то, как
они организованы на хостинге. Напри-
мер, корень сервера сделать в
C:\MySite\WWW
а CGI-каталог — в
C:\MySite\cgi
  Списки файлов в "каталоге CGI" и его
подкаталогах клиенту не показываются
независимо от наличия индекс-файла и
настроек сервера.
  CGI-программа может быть либо при-
ложением, либо скриптом.
  CGI приложения — это ВЫПОЛНЯЕМЫЕ
файлы (с расширением exe). Обращения
к ним могут производиться:
1) по URL, содержащим путь и имя файла
   БЕЗ расширения;
2) по URL, содержащим путь и имя файла
   ВМЕСТЕ С расширением.
Первый способ предпочтительнее, т.к.
указание расширения .exe в URL может
вызвать проблемы с некоторыми браузе-
рами в автономном режиме и т.п.
ПРИМЕР:
   Если у Вас CGI каталог в
   C:\MySite\cgi
   а его имя "из Интернета"
   /cgi-bin/
   то программа C:\MySite\cgi\hi.exe
   будет доступна как CGI приложение
   по URL: /cgi-bin/hi
  CGI приложения могут быть написаны
на C (C++, C#), Pascal`е, любом другом
языке программирования, позволяющем
создавать исполняемые модули (даже на
Ассемблере). Но до запуска программы
нужно сначала откомпилировать исходный
текст и получить выполняемый файл.
  CGI скрипты- это ИНТЕРПРЕТИРУЕМЫЕ
программы (например, на языке Python,
Perl или другом ИНТЕРПРЕТИРУЕМОМ
языке). Скрипт не требует компиляции.
Чтобы такая программа работала, нужно:
-  иметь на Вашей машине интерпретатор
 нужного языка;
-  прописать (в настройках сервера)
 файлы с соответствующими расширениями
 как ассоциации с соответствующим
 интерпретатором.
ПРИМЕР:
 * Чтобы запускать скрипты на Perl`е,
 укажите расширение pl и exe-файл perl
 (с полным путём, если он не лежит у
 Вас в каталоге, прописанном в пере-
 менную PATH).
К сожалению, "Son hServer" пока не мо-
жет автоматически определять интерпре-
татор для скриптов с UNIX-подобным
синтаксисом (таких как Perl).
Поэтому запускаться всегда будет тот
интерпретатор, который задан в ассоци-
ациях сервера, а не тот, что прописан
в первой строке скрипта.
  Время выполнения любого CGI приложе-
ния/скрипта сервер ограничивает 20 се-
кундами. Если за это время выполнение
не завершится, сервер прерывает про-
грамму и сообщает клиенту об ошибке.

*** КОНЕЦ РУКОВОДСТВА ПОЛЬЗОВАТЕЛЯ ***
**************************************


Понимаю, что руководство скромное, но
интерфейс программы интуитивно поня-
тен, а неопытным пользователям поможет
старый друг эксперимент.


       *** ПРИЛОЖЕНИЕ А ***
 Список распознаваемых расширений
 файлов и типов содержимого (content-
 types), сопоставляемых им сервером

Файлы с расширением, отсутствующим в
этом списке, сервер передаёт с типом
application/octet-stream

    htm  html  shtm  sht  shtml  dhtm  dht  dhtml
        xhtm  xht  xhtml  phtm  pht  phtml
       text/html
    xml  xsl
       text/xml
    txt  ans  rus  nfo  me  log
       text/plain
    js
       text/javascript
    vbs
       text/vbscript
    gif
       image/gif
    jpg  jpe  jfif  jpeg
       image/jpeg
    png
       image/png
    tiff  tif
       image/tiff
    xbm
       image/x-xbitmap
    art
       image/x-jg
    bmp
       image/bmp
    ivf
       video/x-ivf
    qt  mov
       video/quicktime
    avi
       video/avi
    enc  mpg  m1v  mpa  mpe  mpeg  mpv2
       video/mpeg
    asf  lsf  asr  asx  lsx
       video/x-ms-asf
    vdo
       video/vdo
    aiff  aif  aifc
       audio/aiff
    au  snd
       audio/basic
    wav
       audio/wav
    hta
       application/hta
    rar
       application/x-rar-compressed
    doc  wiz  dot
       application/msword
    xls  xlb
       application/vnd.ms-excel
    ppt  pps  pwz  ppa  pot
       application/vnd.ms-powerpoint
    pdf
       application/pdf
    fdf
       application/vnd.fdf
    cab
       application/x-compressed
    iii
       application/x-iphone
    ins  isp
       application/x-internet-signup
    mhtml  mht  eml  nws
       message/rfc822
    pfx  p12
       application/x-pkcs12
    prf
       application/pics-rules
    ra  rm  rmm  ram
       audio/x-pn-realaudio
    rts
       application/x-rtsl
    spl  swf
       application/futuresplash
    wrz  vrml  wrl
       model/vrml
    it  xm  s3m  stm  mod  dsm  med  ult
        mm  669  mp3  mp2  mp1
       audio/mpeg
    m3u  pls
       audio/x-mpegurl
    zip
       application/x-zip-compressed
    p10
       application/pkcs10
    cat
       application/vnd.ms-pki.seccat
    pko
       application/vnd.ms-pki.pko
    p7r
       application/x-pkcs7-certreqresp
    p7s
       application/pkcs7-signature
    exe
       application/x-msdownload
    crt  der  cer
       application/pkix-cert
    spc  p7b
       application/x-pkcs7-certificates
    uls
       text/iuls
    p7m  p7c
       application/pkcs7-mime
    stl
       application/vnd.ms-pki.stl
    crl
       application/pkix-crl
    wsc  sct
       text/scriptlet
    323
       text/h323
    rmi  mid  midi
       audio/mid
    vcf
       text/x-vcard
    cdf
       application/x-cdf
    sst
       application/vnd.ms-pki.certstore
    htt
       text/webviewhtml
    css
       text/css

Обнаруживших ошибки в списке либо
некорректное указание контент-типов
сервером прошу сообщить автору.


      *** ПРИЛОЖЕНИЕ Б ***
 Как обзавестись собственным сайтом
 на собственном домашнем сервере

Прежде всего, замечу, что описывается
именно сайт на СВОЁМ СЕРВЕРЕ, т.е. ма-
шине, которая стоит, к примеру, у Вас
дома и служит сервером Интернет. В ка-
честве серверного программного обеспе-
чения Вы выбираете, конечно,
Son hServer :)
  Как Вы знаете, для любого соединения
с Сетью нужен провайдер. Если Вы наме-
рены «держать» сервер, то выберите та-
кого провайдера, который обеспечит
приемлемую скорость и круглосуточный
(или почти круглосуточный) режим рабо-
ты.
  Далее, Вам следует обзавестись по-
стоянным IP-адресом. Услуга эта тоже
платная (оплата не входит в плату за
соединение), но стоит достаточно дё-
шево. Проконсультируйтесь у провайде-
ра о ценах и настройке машины.
  Затем, когда у Вас есть и коннект,
и постоянный IP, очень желательно
обзавестись доменным именем (пользо-
ватели не любят ходить по адресам,
состоящим из цифр). Есть бесплатные
сервисы, предоставляющие такие имена,
например, www.da.ru (зайдите на их
сайт, найдите «Как сопоставить домен
компьютеру с постоянным IP-адресом»).
В таких сервисах обычно нужно регу-
лярно, раз в несколько месяцев, за-
ходить на их сайт и продлевать ре-
гистрацию, иначе домен отберут.
  Более крутой вариант: зарегистри-
ровать себе (за деньги) домен третье-
го или даже второго уровня.
Но вообще-то домен не обязателен,
одного IP уже может быть достаточно.


      *** ПРИЛОЖЕНИЕ В ***
  Общедоступные WhoIs-сервисы

  Если у Вас нет специализированной
программы с функцией WhoIs, то можно
воспользоваться общедоступными веб-
сайтами, которые предоставляют посе-
тителям соответствующий сервис.
  Попробуйте зайти на адрес
http://www.ripe.net/perl/whois
или наберите слово "whois" в какой-
либо поисковой системе.


      *** ЧТО НОВОГО ***

- Версия 1.4.0.297 от 26 01 2023 -

1.  Теперь настройки сохраняются не
    в реестре, а в ini-файле. При
    первом запуске программа пытается
    прочесть из реестра настройки
    предыдущей версии.
2.  Распространение версий 1.3.2.296
    и 1.3.0.294 будет прекращено.

- Версия 1.3.2.296 от 17 08 2021 -

1.  Откорректирован год выпуска в ок-
    не «О программе». Распространение
    предыдущего релиза 1.3.1.295 бу-
    дет прекращено.

- Версия 1.3.1.295 от 09 07 2021 -

1.  Удалена лишняя надпись «403» на
    вкладке «Совместимость» окна на-
    строек.

- Версия 1.3.0.294 от 02 04 2020 -

1.  Теперь для ошибок 403, 404, 500
    можно указывать не только локальные
    пути страниц, но и URL (с протоко-
    лом HTTP или HTTPS). Для URL гене-
    рируются редиректы.
2.  Переделан дизайн окна «О програм-
    ме», теперь оно в тёмной цветовой
    схеме и с луной.
3.  Появилась опция «Удалять лог-файл
    при завершении программы-сервера»
    для желающих сэкономить место.
4.  Под кнопкой "Спрятать" в главном
    окне сервера появился индикатор
    наличия соединений, обведённый си-
    ней каймой. Показывает зелёный при
    наличии соединения(-й), чёрный —
    если нет ни одного.
5.  Сделаны «пасхальные яйца» (на всех
    поддерживаемых языках) в окне «О
    программе», активирующиеся щелчком
    по луне.
6.  Переведены на все поддерживаемые
    языки сообщения окна настроек, ко-
    торые оно показывает при различных
    действиях в нём (в основном нажа-
    тие кнопок манипуляции различными
    списками).
7.  Устранён баг, не позволявший при
    переходе на подкаталог CGI-катало-
    га без завершающего слэша в URL
    генерировать редирект.
8.  Реализована возможность задавать
    пользовательский файл или URL для
    страницы 403. Сама страница 403
    по умолчанию отключена, замещает-
    ся на 404 из соображений безопас-
    ности. Но можно включить её ис-
    пользование.
9.  Устранён баг, приводивший к ре-
    директу на несуществующий адрес
    при попытке передать GET-пара-
    метр(ы) скрипту, являющемуся ин-
    дексом каталога при указании
    адреса без имени файла (введя
    только имя каталога).

- Версия 1.2.0.264 от 31 03 2020 -

1.  Добавил ещё 2 языка для интер-
    фейса программы. Теперь под-
    держиваем 6 языков (английский,
    русский, белорусский, украин-
    ский, сербский, болгарский).
2.  Переделана картинка в окне
    «О программе».
3.  Перевёл на поддерживаемые языки
    статистику, отображаемую в
    главном окне программы.
4.  Пофиксены глючки в окне настро-
    ек на некоторых языках (когда
    язык русский или английский,
    эти баги не возникают).
5.  Теперь можно настроить сервер
    на показ HTML-страниц при кодах
    ошибок HTTP 404 и 500.
6.  Исправлены мелочи (битые ссыл-
    ки, загрязнение кода коммента-
    риями и прочее).

- Версия 1.1.0.255 от 05 12 2016 -

1.  Добавил ещё 2 языка для интер-
    фейса программы (не в ReadMe).
2.  Исправлена недоработка (кнопка
    «минус» теперь выравнивается в
    окне по правому краю, а значит
    не уползает из поля зрения при
    растягивании окна), из-за
    которой кнопка «минус» в на-
    стройках списка корневых ката-
    логов теперь видна благопо-
    лучно.

- Версия 1.0.0.252 от 08 12 2015 -

1.  Теперь Вы можете выбирать кор-
    невой каталог из списка, кото-
    рый создаёте и редактируется
    Вами же.

- Версия 0.9.0.241 от 13 02 2015 -

1.  Теперь каждому CGI-приложению
    (CGI-скрипту) передаётся и пере-
    менная окружения DOCUMENT_ROOT,
    что поможет работе ряда скриптов
    (например, «my-engine v3.1.1»).
2.  Скорректированы ошибки в англий-
    ском ReadMe (english.txt).

- Версия 0.8.0.232 от 12 12 2014 -

1.  Теперь сервер успешно перенаправ-
    ляет клиента на страницы, указан-
    ные в заголовке "Location".

- Версия 0.7.0.228 от 02 12 2011 -

1.  Теперь можно использовать
    PHP или Perl скрипты как
    индексную страницу каталога
    (index.php*/.pl*/.cgi*).

- Версия 0.6.0.225 от 26 11 2011 -

1.  Теперь возможно прикрутить к
    серверу PHP. Подробности см.
    в подкаталоге «php».

- Версия 0.5.0.208 от 20 10 2011 -

1.  Теперь content-type для *.css
    файлов указывается правильно.
2.  Теперь CGI-скрипты должны за-
    пускаться даже под WinXP
    (раньше не хотели). Пробуйте
    прикрутить PHP.

- Версия 0.4.0.165 от 23 09 2003 -

1.  Подкорректирован код обработки
    HTTP заголовков, который в вер-
    сиях 0.3- мог вызвать проблемы
    при длительной работе сервера
    или при получении "POST" за-
    просов.
2.  Реализована поддержка CGI при-
    ложений (с ограничениями- см.
    руководство пользователя).
3.  Лимит размера заголовка HTTP-
    запроса увеличен до 8000 байт
    (на случай больших Cookies
    и т.п.)
4.  Теперь сервер на все ошибки
    HTTP отвечает кодами статуса
    HTTP.
    Старый стиль (текстовые сообще-
    ния) можно вернуть, выключив в
    настройках опцию "Обо всех
    ошибках HTTP сообщать статус-
    кодами".
5.  Реализованы новые свойства для
    совместимости с популярными
    приложениями-серверами и веб-
    хостингами. Сделана вкладка
    "Совместимость" в настройках.

- Версия 0.3.0.133 от 11 08 2003 -

1.  Пофиксены глючки с сообщениями
    "Access violation...", которые
    могли иногда выскакивать на
    экран.
2.  Возможно отображение в логах
    не только IP клиента, но и его
    хоста (машинного имени). Вклю-
    чается в настройках.
3.  Реализована фильтрация соедине-
    ний по IP адресу клиента
    (запрет на соединение с целью
    блокировки атак и прочей непри-
    ятной деятельности). Диапазоны
    IP задаются в интуитивно понят-
    ной форме (подробнее см. выше в
    руководстве пользователя).
    По умолчанию отключена.
4.  Теперь включает в статистику
    не только ошибки сокетов, но и
    программы вообще. Ошибки ре-
    гистрируются в лог файле и со-
    провождаются (по возможности)
    подробными сведениями. Полезно
    в основном для тех, кто пере-
    компилирует или изменяет исход-
    ные тексты «Son hServer`а».
5.  Появилась опция «Отправлять HTTP-
    заголовок "Server:"». Но в силу
    врождённой скромности по умолча-
    нию эта опция отключена.
6.  Улучшено форматирование индекс-
    страниц (которые появляются при
    заходе на адреса каталогов без
    индекс-файла, если в настройках
    стоит флажок «Показывать содер-
    жимое каталога когда нет индекс-
    файла»). Теперь возможно ис-
    пользование для них пользова-
    тельских (т.е. настраиваемых веб-
    мастером) стилей оформления.
7.  На индекс-странице (см. предыд.
    пункт), генерируемой сервером
    для каталога, теперь нет ссылки
    на самого себя (.), а для корне-
    вого каталога также нет аплинка
    (..).

- Версия 0.2.0.95 от 01 03 2003 -

1.  Возвращает информацию о датах
    файлов (заголовок Last-Modified).
2.  В логах кроме пути запрошенного
    файла записывает название HTTP
    метода, указанного в запросе.
3.  Блокирует выполнение запросов с
    неверно указанными протоколом
    или методом, излишне больших
    запросов (заголовки > 3000 байт,
    тело > 2000 байт). Назначение—
    предупреждение простейших DoS-
    атак. На размеры скачиваемых
    файлов это ограничение не влия-
    ет.
4.  Программа сворачивается в сис-
    темную область панели задач.
    В настройках появился флажок
    «Прятать в системный трей при
    запуске».
5.  Устранена дыра версии 0.1,
    позволявшая с помощью сочетания
    ".." получать доступ к файлам
    за пределами каталога сервера
    (на том же диске). Прошу изви-
    нения за этот идиотский баг.

- Версия 0.1.0.72 от 22 01 2003 -

Первая версия.


      *** АВТОР ПРОГРАММЫ ***

Автор программы Son hServer
  Михаил Шмелев
  Россия, 2003-2023 гг.

Официальный веб-сайт автора
  https://logovo-tigra.ru/

Неформальные сайты автора
  http://super-m.savesoul.ru/
  http://antigun.savesoul.ru/

E-mail автора
  super-m@ya.ru

При обнаружении багов в программе
просьба сообщить мне.
Набор возможностей постараюсь рас-
ширять, следите за обновлениями.

Исходный текст (CBuilder 4) можно
взять с этого адреса.

Комментарии:

Комментариев пока нет.

Добавить комментарий

Powered by Antitrue Engine v 4.0 from SM aka AntiGun