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