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

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

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のコメント欄でその他おもしろそうなワンライナーが色々紹介されているので、そっちも参照してみてください。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次