Введение в HTTP-сервер в Rust
Сервер в сети принимает соединения на выбранном порту и для каждого запроса смотрит адрес пути и способ обращения. Ответом может быть короткий текст, файл или строка формата с полями. Так один процесс обслуживает много клиентов без отдельной программы на каждое действие.
Запрос несет путь, необязательную часть после знака вопроса и иногда тело с данными. Программа сопоставляет путь с функцией, которая готовит ответ, а куски пути и параметры попадают в аргументы этой функции.
В Rust такой сервер собирают на асинхронном исполнителе и крейте маршрутизации из экосистемы Cargo. Он связывает адрес с обработчиком, читает параметры и тело, а ошибки привязки порта и цикла приема удобно разбирать через исход операции.
Дальше подключим зависимости, ответим на корневой адрес текстом, возьмем идентификатор из пути, прочитаем параметры и тело, отдадим ответ строкой формата и научимся завершать работу без обрыва уже принятого запроса.