アセンブラで書かれたWebサーバ

アセンブラで書かれた64bit Linux用Webサーバ

ちょっと話題になってるっぽい
https://github.com/nemasu/asmttpd

とりあえずソースコードゲット


$ git clone https://github.com/nemasu/asmttpd.git

READMEに書いているようにyasmが必要なのでapt-getでインストール


$ sudo apt-get install yasm

そしてコンパイル


$ make
yasm -g dwarf2 -f elf64 -a x86 main.asm -o main.o
ld main.o -o asmttpd

$ make release
yasm -f elf64 -a x86 main.asm -o main.o
ld main.o -o asmttpd
strip -s asmttpd

ドキドキしながらWebサーバスタート


// 先客がいるのでストップさせておく
$ sudo service apache2 stop
$ sudo ./asmttpd web_root/
[sudo] password for xxxx:
asmttpd - 0.07
Using Document Root: web_root/

http://localhost/index.htmlへアクセス!! (index.htmlは自動で/以下のブツとして表示されないらしい)

hoghoge

キター!!! 心無しかレスポンスがちょっと早い気がしてならない。
HTTP Headerには
server asmttpd/0.08
HTTPrequest status: 200
が返ってきていました。