インターネット黎明期はCGIが一般的でPerl+CGIで掲示板を作るというのはよくあるパターンだったと思う。 CGIは言語非依存で環境変数経由でHTTPリクエストパラメーターなどを受け取って標準出力に出せば良いというシンプルなモデル。リクエストごとにプロセスを生成するので負荷が大きいというデメリットがある。 Javaの世界ではServletという標準化されたAPIがあり、これを実装したWeb APサーバーは1リクエストをスレッドで扱うためCGIに比べると性能が良い。 またServletは標準化されたAPIであるためこれに依存したWebフレームワーク、古くはStruts、今だとSpring Web MVCなんかで実装したWebアプリケーションはServlet APIに準拠したどのWeb APサーバーでも動く。 一方Perl, Ruby, PythonといったLL言語はJavaとは違う道を歩ん
![Web APサーバーとWebフレームワークをつなぐもの - wyukawa's diary](https://cdn-ak-scissors.b.st-hatena.com/image/square/61214f6e33fd57bdf14932639a25ac807fcc5987/height=288;version=1;width=512/https%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fw%2Fwyukawa%2F20131125%2F20131125165725.png)