Цель:
В процессе выполнения ДЗ вы получите опыт создания асинхронных серверов.
Описание/Пошаговая инструкция выполнения домашнего задания:
Написать HTTP-сервер на основе одного из современных механизмов мультиплексирования ввода-вывода (epoll, kqueue), раздающий файлы из заданной директории.
Сторонние библиотеки не использовать.
Требования:
Создано приложение, принимающее аргументами командной строки рабочую директорию и пару адрес:порт для прослушивания.
Сервер корректно отдаёт файлы из заданной директории по HTTP.
Сервер корректно отвечает 404 статус-кодом на запросы несуществующих файлов и 403 статус-кодом на запросы файлов, на чтение которых у процесса не хватает прав.
Бонусные баллы за решение, обеспечивающее наибольшее RPS.
Код компилируется без предупреждений с ключами компилятора -Wall -Wextra -Wpedantic -std=c11.
Далее успешность определяется ревью кода.
Критерии оценки:
Cтудент коммитит все необходимое в свой github/gitlab репозиторий.
Далее необходимо зайти в ЛК, найти занятие, ДЗ по которому выполнялось, нажать "Отправить ДЗ" и отправить ссылку.
После этого ревью и общение на тему ДЗ будет происходить в рамках этого чата.
Домашнее задание Асинхронный HTTP-сервер
Цель: В процессе выполнения ДЗ вы получите опыт создания асинхронных серверов.
Описание/Пошаговая инструкция выполнения домашнего задания: Написать HTTP-сервер на основе одного из современных механизмов мультиплексирования ввода-вывода (epoll, kqueue), раздающий файлы из заданной директории. Сторонние библиотеки не использовать. Требования: Создано приложение, принимающее аргументами командной строки рабочую директорию и пару адрес:порт для прослушивания. Сервер корректно отдаёт файлы из заданной директории по HTTP. Сервер корректно отвечает 404 статус-кодом на запросы несуществующих файлов и 403 статус-кодом на запросы файлов, на чтение которых у процесса не хватает прав. Бонусные баллы за решение, обеспечивающее наибольшее RPS. Код компилируется без предупреждений с ключами компилятора -Wall -Wextra -Wpedantic -std=c11. Далее успешность определяется ревью кода.
Критерии оценки: Cтудент коммитит все необходимое в свой github/gitlab репозиторий. Далее необходимо зайти в ЛК, найти занятие, ДЗ по которому выполнялось, нажать "Отправить ДЗ" и отправить ссылку. После этого ревью и общение на тему ДЗ будет происходить в рамках этого чата.
Рекомендуем сдать до: 04.06.2023