HTTP хаб Урал
Обоснование
Сегодня популярным является использование концепции мультипротокольного сервера. Эта концепция появилась во времена первой волны распространения сети Интернет. В результате объединения многих протоколов и технологий в одном продукте, будь-то сервер или браузер, программы разрослись до сверхсложных проектов. Это понизило их гибкость, простоту настройки, эксплуатации, а также безопасность.
Концепция
- главное назначение: создание простого персонального Интернет-севера на персональном устройстве
"из коробки";
- использование системы безопасности POSIX операционных систем;
- обслуживание разных разделов и разных функций с разными правами.
Техническое задание:
- менее 1000 строк кода в первой реализации;
- поддержка 10 основных форматов файлов (html,svg,css,jpeg,png,gif,mp3,mp4,ogv,webm);
- поддержка передачи файлов и выполнение скриптов, исполняемых файлов;
- ненужно запускать от имени администратора;
- интеграция в операционную систему.
Текущее состояние:
- примерно 624 строки кода.
- Пункты технического задания, кроме последнего, по причине его риторической формулировки, выполнены полностью.
- Добавлено ведение протокола запросов и основных ошибок.
- Подерживаются заголовки для 16 типов файлов.
- Добавлены примеры кода в папки usr/cgi-bin/ (компилировать g++) и usr/html/
- Исправлены ошибки.
Загрузка:
Только POSIX!
Скачать Урал 0.2 8,5 kb. (28.12.2015 15:10).
Скачать Урал 0.1 8kb. (07.04.2015 19:19).
TODO:
- написать пояснения как из консоли использовать MySQL c
перехватом стандартных потоков ввода и вывода процесса потомка;
- режима кеширующего сервера для раздачи статических ресурсов;
- режим распределения http запросов;
- шифрование канала с помощью openssl;
- поддержка докачки.