Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > webrickライブラリ
汎用HTTPサーバーフレームワークです。HTTPサーバが簡単に作れます。
WEBrick はサーブレットによって機能します。サーブレットとは サーバの機能をオブジェクト化したものです。 ファイルを読み込んで返す・forkしてスクリプトを実行する・テンプレートを適用する など、「サーバが行なっている様々なこと」を抽象化しオブジェクトにしたものが サーブレットです。サーブレットは WEBrick::HTTPServlet::AbstractServlet の サブクラスのインスタンスとして実装されます。
WEBrick はセッション管理の機能を提供しません。
以下は Web サーバとして完全に動作するスクリプトです。
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
ブラウザで http://127.0.0.1:20080/ にアクセスすることによって確認できます。 また http://127.0.0.1:20080/view.cgi にアクセスするとカレントディレクトリに置かれている view.rb がCGIスクリプトとして実行されます。http://127.0.0.1:20080/foo.html にアクセスすると カレントディレクトリ下の hoge.html の内容が表示されます。
上のスクリプトでは以下のような流れで view.rb は実行されます。
このように WEBrick では Web サーバの機能の大部分がサーブレットの形で提供されています。 またサーブレットを作成することにより新たな機能を Web サーバに追加することもできます。
module WEBrick | ライブラリ webrick の各クラスを提供するモジュールです。 |
module WEBrick::AccessLog | WEBrick::HTTPServer のアクセスログの形式を処理するために内部で使われるモジュールです。 |
class WEBrick::BasicLog | ログを取る機能を提供するクラスです。 |
module WEBrick::Config | 色々なクラスの設定のデフォルト値を提供するモジュールです。 |
class WEBrick::Cookie | Cookie を表すクラスです。[RFC2109] に準拠しています。 RFC2109 は [RFC2965] により破棄されましたが、WEBrick::Cookie クラスは RFC2965 に対応していません。 |
class WEBrick::Daemon | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバはデーモンとして動作します。 |
class WEBrick::GenericServer | サーバの一般的な機能を提供するクラスです。 WEBrick::HTTPServer のスーパークラスです。 |
module WEBrick::HTMLUtils | HTML のためのユーティリティ関数を提供します。 |
module WEBrick::HTTPAuth | ユーザ認証の機能を提供するモジュールです。 |
module WEBrick::HTTPAuth::Authenticator | |
class WEBrick::HTTPAuth::BasicAuth | HTTP の Basic 認証のためのクラスです。 |
class WEBrick::HTTPAuth::DigestAuth | HTTP の Digest 認証のためのクラスです。 |
class WEBrick::HTTPAuth::Htdigest | Apache の htdigest 互換のクラス。 |
class WEBrick::HTTPAuth::Htgroup | Apache で証認に使用するユーザグループの一覧が格納されているテキストファイルを読み書きするためのクラスです。 |
class WEBrick::HTTPAuth::Htpasswd | Apache の htpasswd 互換のクラス。.htpasswd ファイルを新しく作成することも出来る。 htpasswd -m (MD5) や -s (SHA) で作成された .htpasswd ファイルには対応していません。 |
module WEBrick::HTTPAuth::ProxyAuthenticator | |
class WEBrick::HTTPAuth::ProxyBasicAuth | プロクシの Basic 認証のためのクラスです。 |
class WEBrick::HTTPAuth::ProxyDigestAuth | プロクシの Digest 認証のためのクラスです。 |
module WEBrick::HTTPAuth::UserDB | WEBrick::HTTPAuth::BasicAuth, WEBrick::HTTPAuth::DigestAuth で使用しているモジュールです。 |
class WEBrick::HTTPRequest | HTTP リクエストのためのクラスです。 |
class WEBrick::HTTPResponse | HTTP のレスポンスを表すためのクラスです。 |
class WEBrick::HTTPServer | HTTP サーバの機能を提供するクラスです。 |
class WEBrick::HTTPServer::MountTable | サーバ上のパスとサーブレットの対応関係を管理するためのクラスです。 |
class WEBrick::HTTPServlet::AbstractServlet | サーブレットの抽象クラスです。実装は AbstractServlet のサブクラスで行います。 |
class WEBrick::HTTPServlet::CGIHandler | CGI を扱うためのサーブレットです。 |
class WEBrick::HTTPServlet::DefaultFileHandler | 通常のファイルサーバとしての機能を提供するためのサーブレットです。 WEBrick::HTTPServlet::FileHandler の内部で利用しています。 |
class WEBrick::HTTPServlet::ERBHandler | ERB を扱うためのサーブレットです。 |
class WEBrick::HTTPServlet::FileHandler | 通常のファイルサーバとしての機能を提供するためのサーブレット。 |
class WEBrick::HTTPServlet::ProcHandler | Proc を扱うためのサーブレット。 |
module WEBrick::HTTPStatus | HTTP のステータスを表す例外クラスを提供するモジュールです。 ステータスコード 200 などの成功の場合も含まれます。 |
module WEBrick::HTTPUtils | HTTP のためのユーティリティ関数を提供します。 |
class WEBrick::HTTPUtils::FormData | クライアントがフォームへ入力した値を表すクラスです。multipart/form-data なデータを表すのにも 使われます。 |
class WEBrick::HTTPVersion | HTTP のバージョンのための小さなクラスです。 バージョン同士の比較のために使います。 |
class WEBrick::Log | ログを取る機能を提供するクラスです。 WEBrick::BasicLog との違いはログの各行の先頭に 現在時刻が自動で挿入される点です。 |
class WEBrick::SimpleServer | サーバのタイプを表すクラスです。 WEBrick::GenericServer.new の設定の :ServerType の値として指定した場合 サーバは通常のプロセスとして動作します。 |
module WEBrick::Utils | ライブラリ webrick のための小さなユーティリティ関数を提供するモジュールです。 |
webrick/accesslog | WEBrick::HTTPServer のアクセスログの形式を処理するために内部で使われるライブラリです。 |
webrick/compat | プラットフォーム間の互換性を確保するためのライブラリです。 |
webrick/config | |
webrick/cookie | |
webrick/htmlutils | HTML のためのユーティリティ関数を提供します。 |
webrick/httpauth | ユーザ認証の機能を提供するライブラリです。 |
webrick/httpauth/authenticator | HTTP 認証で利用するモジュールを提供するライブラリです。 |
webrick/httpauth/basicauth | HTTP の Basic 認証のためのライブラリです。 |
webrick/httpauth/digestauth | HTTP の Digest 認証のためのライブラリです。 |
webrick/httpauth/htdigest | Apache の htdigest 互換機能を提供するライブラリです。 |
webrick/httpauth/htgroup | Apache で証認に使用するユーザグループの一覧が格納されているテキストファイルを 読み書きする機能を提供するライブラリです。 |
webrick/httpauth/htpasswd | Apache の htpasswd 互換のクラスを提供するライブラリです。 |
webrick/httpauth/userdb | |
webrick/httprequest | HTTP リクエストのためのクラスを提供するライブラリです。 |
webrick/httpresponse | HTTP のレスポンスを表すためのクラスを提供するライブラリです。 |
webrick/httpserver | HTTP サーバの機能を提供するライブラリです。 |
webrick/httpservlet | このファイルを Kernel.#require すると、 WEBrick::HTTPServlet::FileHandler に対して 拡張子 .cgi と .rhtml のためのハンドラを設定します。 |
webrick/httpservlet/abstract | |
webrick/httpservlet/cgihandler | CGI を扱うためのサーブレットを提供するライブラリです。 |
webrick/httpservlet/erbhandler | ERB を扱うためのサーブレットを提供するライブラリです。 |
webrick/httpservlet/filehandler | 通常のファイルサーバとしての機能を提供するためのサーブレットを提供するライブラリです。 |
webrick/httpservlet/prochandler | Proc を扱うためのサーブレットを提供するライブラリです。 |
webrick/httpstatus | HTTP のステータスを表す例外クラスを提供します。 |
webrick/httputils | |
webrick/httpversion | |
webrick/log | |
webrick/server | |
webrick/utils |
webrick/cgi | 一般の CGI 環境で webrick ライブラリのサーブレットと同じように CGI スクリプトを書くための ライブラリです。サーバが WEBrick でなくても使うことが出来ます。 |
webrick/httpproxy | プロクシの機能を提供するライブラリです。CONNECT メソッドにも対応しています。 |
webrick/https | WEBrick::HTTPServer を SSL/TLS に対応させるための実装。 このファイルを Kernel.#require すると WEBrick::HTTPServer が SSL/TLS 対応になります。 |
webrick/ssl | WEBrick::GenericServer を SSL/TLS に対応させるための実装。 このファイルを require すると WEBrick::GenericServer が SSL/TLS 対応になる。 |