github.com/ruby/webrick

HTTP server toolkit

Open this visualization on its own page →

Contributors

59

Lines of Code

982

From

2003-07-23

To

2021-01-06

About ruby/webrick

WEBrick is an HTTP server toolkit written in Ruby that provides flexible server configuration for various use cases. It can be set up as a standard HTTP server, an HTTPS server with SSL/TLS support, a proxy server, or a virtual-host server capable of serving different content based on hostname or request path. The toolkit includes comprehensive logging for both server operations and HTTP access, making it easy to monitor activity and debug issues.

The server supports multiple authentication mechanisms including basic and digest authentication as well as custom algorithms beyond those defined in RFC 2617. WEBrick can be composed of multiple servers or servlets to handle different behaviors on a per-host or per-path basis, and it comes with built-in servlets for serving CGI scripts, ERB templates, Ruby blocks, and directory listings. Additional utilities for process daemonization and privilege management are included.

WEBrick is primarily intended for development and testing environments rather than production deployments. While the developers maintain the project and address security issues, they explicitly recommend against using WEBrick to serve production applications that may receive untrusted input. The project is maintained as part of the Ruby organization and distributed as a Ruby gem under the BSD 2-Clause License.

Share this video