RubyでWEBrickを使い倒す! (Part 1 : 入門)

WEBrickなるWebサーバがRubyには標準で付いているらしい。

どこまで使い物になるのか、実験してみよう。

 

まず、以下のサンプルソースを動かしてみる。

https://docs.ruby-lang.org/ja/latest/library/webrick.html


#! ruby -Ku print "Ruby #{RUBY_VERSION} using.\n\n" require 'webrick' srv = WEBrick::HTTPServer.new({ :DocumentRoot => './', :BindAddress => '127.0.0.1', :Port => 20080}) srv.mount('/view.cgi', WEBrick::HTTPServlet::CGIHandler, 'view.rb') srv.mount('/foo.html', WEBrick::HTTPServlet::FileHandler, 'hoge.html') trap("INT"){ srv.shutdown } srv.start

 

実行するとWebサーバとして実行中になった模様。コンソールには、以下のように出力された。標準出力に出している?


[2019-02-03 13:54:23] INFO WEBrick 1.4.2 [2019-02-03 13:54:23] INFO ruby 2.6.0 (2018-12-25) [x64-mingw32] [2019-02-03 13:54:23] INFO WEBrick::HTTPServer#start: pid=11364 port=20080

 

http://127.0.0.1:20080/Webブラウザでアクセスしてみる。

 

f:id:ittokoton:20190203140341p:plain

Webブラウザには、カレントディレクトリのファイル一覧が表示された。WEBrickではディレクトリインデックス機能がデフォルトで有効になっているようだ。

一方サーバ側のコンソールには、下記のとおり、ログが出力していた。


127.0.0.1 - - [03/Feb/2019:13:58:25 東京 (標準時)] "GET / HTTP/1.1" 200 1275

 

 今度は、カレントディレクトリに、index.html を置いてみた。

http://127.0.0.1:20080/ にアクセスしてみると、ディレクトリインデックス機能は働かず、index.htmlの内容が表示された。

 

---------------------------------------
ITとことんのトップページ
  ┗━ ■Rubyのトップページ
            ┗━ ■本ページ