asmttpd — очень простой и лёгкий веб-сервер на ассемблере для 64-битных дистрибутивов.
Веб-сервер поддерживает:
- Многопоточность;
- Возможность работы из любой нужной директории;
- Коды ошибок 200, 206, 404, 400, 413, 416;
- xml, html, xhtml, gif, png, jpeg, css, js
Веб-сервер сам по себе миниатюрный и не требует дополнительных зависимостей (ну кроме непосредственно 64-bit системы). К сожалению, пока что не поддерживает листинг директории.
Установка и запуск asmttpd.
Ставить будем на CentOS 7. Для этого нам потребуются:
# yum install make git epel-release # yum install yasm # git clone https://github.com/nemasu/asmttpd # cd ./asmttpd
# make release yasm -f elf64 -a x86 main.asm -o main.o ld main.o -o asmttpd strip -s asmttpd
А для запуска просто выполняем:
# ./asmttpd ./web_root/ asmttpd - 0.4.2 Using Document Root: ./web_root/
И обращаемся к серверу по http, где видим тестовую страницу.
Тем, кого подобные утилиты интересуют, рекомендую так же посмотреть на Nihserver, о нём я в своё время так же делал отдельную заметку.
Ну и какие преимущества? Чем он лучше или хуже nihserver?
Увы, но сравнивать их я не возьмусь. По функционалу они схожи, а для того что бы подметить какие-то мелочи в реализации, у меня в asm не достаточно опыта. 🙂