1行のbashスクリプトで実現するWebサーバー

シェアする

Server

普段複雑で高機能な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>

ブラウザの表示
Hello

ncコマンドがめんどくさい通信部分を一手にひきうけているのがポイントか?

Hacker Newsのコメント欄でその他おもしろそうなワンライナーが色々紹介されているので、そっちも参照してみてください。

スポンサーリンク
レクタングル(大)広告
レクタングル(大)広告

シェアする

フォローする