普段複雑で高機能なWebサーバーに馴染んでいると忘れがちなことですが、HTTPの基本的なしくみはとてもシンプル。それを証明しているのが「Web server in one line of bash」です。なんと以下の1行のbashスクリプトでWebサーバーの機能を実現しています。
while true; do { echo -e 'HTTP/1.1 200 OK\r\n'; cat index.html; } | nc -l 8080; done
実行してみよう
適当なHTMLファイルをindex.htmlという名前で保存し、ターミナルで上記コマンドを実行。ブラウザから「http://localhost:8080」にアクセスしてみましょう(ポート番号が8080になっていることに注意)。
index.htmlのサンプル
<html>
<head><title>Hello</title></head>
<body>
<h1>Hello</h1>
</body>
</html>
ブラウザの表示
ncコマンドがめんどくさい通信部分を一手にひきうけているのがポイントか?
Hacker Newsのコメント欄でその他おもしろそうなワンライナーが色々紹介されているので、そっちも参照してみてください。