Update to 0.2.4 version

Added suport for UTF-8 paths of file and uri name.
Update docs file
Translate commentaries
This commit is contained in:
2024-04-07 20:22:19 +05:00
parent 481c66f38c
commit aca8a10141
15 changed files with 199 additions and 103 deletions

View File

@@ -3,23 +3,40 @@
<meta charset="utf-8">
<meta lang="ru">
<title>Simple-httpd</title>
<style>
code {
background-color: #babfc766;
}
.menu {
background-color: aliceblue;
border: 1px solid black;
width: 40%;
}
h1 {
text-align: center;
}
h2 {
margin-left: 20pt;
}
</style>
</head>
<body>
<h1>Simple-httpd</h1>
<h2>Оглавление:</h2>
<ul>
<li><a href="#about">Описание программы и её возможностей</a></li>
<li><a href="#install">Установка и настройка</a></li>
<li><a href="#api">Документация на API модулей</a></li>
<li><a href="#other-soft">Дополнительные программы и средства </a>
<ul>
<li><a href="#MIME-macro">Генерация файла MIME типов</a></li>
</ul>
</li>
<li><a href="#Bugs">Известные баги и особенности</a></li>
</ul>
<div class="menu">
<h2>Оглавление:</h2>
<ul>
<li><a href="#about">Описание программы и её возможностей</a></li>
<li><a href="#install">Установка и настройка</a></li>
<li><a href="#api">Документация на API модулей</a></li>
<li><a href="#other-soft">Дополнительные программы и средства </a>
<ul>
<li><a href="#MIME-macro">Генерация файла MIME типов</a></li>
</ul>
</li>
<li><a href="#Bugs">Известные баги и особенности</a></li>
</ul>
</div>
<hr>
<!-- Описание -->
@@ -40,6 +57,7 @@
<p>
Дальнейшая настройка содержимого директории зависит от значений в файле httpd.ini .
</p>
<p><b>Примечание:</b> Файл должен использовать кодировку UTF-8. Другие кодировки могут привести к неправильной работе сервера.</p>
<p>
В файле конфигурации можно выделяются 3 основных раздела:
<ol>
@@ -54,7 +72,8 @@
<li><code>mime_file</code><p> Путь до файла сопоставления mime типов. Если параметр не указан используется встроенная таблица соответствия.</p></li>
<li><code>modules_dir</code><p> Директория, относительно которой в разделе [MODULES] указываются модули расширения.</p></li>
<li><code></code><p> </p></li>
</ul>
</ul>
<p><b>Примечание:</b> В качестве modules_dir могут использоватьбся только ASCII символы.</p>
</li>
<li>
<code>[MODULES]</code>
@@ -65,6 +84,9 @@
<li><b>file_name</b> - путь к файлу модуля, относительно "modules_dir"</li>
<li><b>cmdline</b> - Строка передаваемая модулю во время инициализации каждого ресурса, ассоциированного с ним</li>
</ul>
<p><b>Примечание:</b> В качестве uri_path и cmdline может использоваться строка в UTF-8 с любыми символами, но путь к модулю
всегда должен использовать только ASCII символы. Кодировка cmdline не стандартизированна, но желательно использовать
ASCII символы и проверять какую кодировку поддерживаем модуль.</p>
</li>
<li><code>[TLS]</code>
<p>Данный раздел содержит необходимые данные для использования TLS сервером. Все поля обязательны для заполнения.</p>
@@ -98,6 +120,9 @@
<code> test3=test_unit4.obj; -database="file.sqlite" </code>
Для большей совместимости рекомендуется обрабатывать эту командную строку в кодировке UTF-8.
</p>
<p>
При успешной инициализации функция должна вернуть ненулевое значение, если же инициализация прошла неуспешно, то должен возвращаться ноль.
</p>
<p> Также для дальнейшей работы модуля предаётся указатель на таблицу экспортируемых сервером функций.</p>
@@ -134,9 +159,9 @@
<tr><th>Параметр</th><th>Значение</th></tr>
</thead>
<tbody>
<tr><th>Статус ответа</th><th>"200"</th> </tr>
<tr><th>Версия протокола</th><th>"HTTP/1.1 "</th></tr>
<tr><th>Content-type</th><th>"text/html"</th></tr>
<tr><td>Статус ответа</td><td>"200"</td> </tr>
<tr><td>Версия протокола</td><td>"HTTP/1.1 "</td></tr>
<tr><td>Content-type</td><td>"text/html"</td></tr>
</tbody>
</table>
<p> Также разработчик может указать битовые флаги конфигурации ответа, например следующие:</p>
@@ -219,6 +244,8 @@
</p>
</li>
</ul>
<p><b>Примечание:</b> Все пути на файл или директорию должны быть в кодировке UTF-8 или совместимой с ней ASCII.
Строки должны использовать Null-турминатор. Кодировки UTF-16LE, cp866, cp1251 и тд нельзя использовать.</p>
<h3>Управление сервером</h3>
<code>void close_server();</code>
<p> Функция производит завершение работы всех модулей, и основного потока этого сервера. На время завершения работы модулей сервер
@@ -256,9 +283,8 @@
<ol>
<li>Сетевой стек нестабилен и что-то может пойти не так.</li>
<li>При отправки больших объёмов данных может быть утеря или изменение порядка пакетов</li>
<li>Сервер пока не умеет обрабатывать %XX символы в пути до ресурса</li>
<li>Отсутствует поддержка частичных http запросов</li>
<li>Сервер не рассчитан на большие нагрузки</li>
<li>Все пути в конфигурации сервера должны быть в ascii и без русских символов</li>
<li>Отсутствует поддержка TLS</li>
</ol>