10.1 現代のウェブアプリケーションサーバーの役割

ウェブはもともと、静的なHTMLを返す論文などの管理のためのシステムとして始まりましたが、ブラウザをインタフェースとして、ユーザーのリクエストを受けてページを動的に返すウェブサービスが生み出されました。CGIから始まり、常駐型のウェブアプリケーションサーバーが登場しました。エンタープライズのシステムも、デスクトップアプリケーションとサーバーによるクライアントサーバー型のシステムから、ウェブブラウザをインタフェースとするウェブアプリケーションへのシフトが急速に進みました。その全盛期に生み出されたウェブアプリケーションサーバーはリッチな機能を備えています。

しかし、ブラウザの機能も徐々に強化され、リッチな体験を提供するためにJavaScriptを使ったフロントエンドの開発の比重が高まり、JavaScriptの機能や互換性、性能などが強化されています。また、クラウドサービスの発達や、Dockerなどを利用してミドルウェアが気軽に追加できるようになったことで、ウェブサーバーの役割はどんどん小さくなっています。特にクラウドネイティブなGoでは割り切った使われ方をすることがほとんどです。

  • 以前はHTMLファイルを生成して返すことがウェブアプリケーションの仕事でしたが、現代では画面を作るのはReactやVue.jsといったJavaScriptのフレームワークがその役割を担っており、そのフロントエンドが利用するデータをJSONなどで返すのが役割となっています

  • クライアントからのリクエストも、以前はフォーム送信がメインでしたが、今はファイルアップロード以外ではJSONが主流です

  • HTMLやJavaScriptのファイルの配信も、CDN(コンテンツデリバリーネットワーク)やロードバランサーが担っているため、ウェブアプリケーションサーバーが行う必要はありません ...