Веб-сервер (стандартная_библиотека/веб.код)

Поверх сеть.код: разбор запроса, ответы, шаблоны, отдача файлов.

  • открыть_порт(порт): результат из целого — слушающий сокет.
  • прочитать_запрос(клиент): результат из Запрос — поля метод, путь, параметры, заголовки, тело.
  • ответ_html(клиент, код, тело), ответ_текстом, перенаправить, ответ_файлом(клиент, путь, имя, скачать) — файл отдаётся кусками по 64 КБ.
  • ответ_файлом_для(клиент, запрос, путь, имя, скачать, кеш) — докачка (Range), ETag/304, HEAD.
  • ответ_json, json_строка, ответ_с_заголовками, значение_cookie, заголовок_cookie.
  • принять_тело_в_файл(клиент, путь, байт) — тело PUT потоком в файл (для загрузки больших файлов); тело POST-форм до 64 КБ — в запрос.тело.
  • подставить(шаблон, имена, значения) — замена {{имя}}; результат нужно освободить освободить_память.
  • экранировать_html, декодировать_адрес, параметр, путь_безопасен, тип_содержимого.

Пример целиком — папка сайт/. В строках %имя% — подстановка, поэтому буквальный % пишите как %%.