13章ウェブアプリケーションの基礎

_images/ch13_header.jpg

CGIのアクセスカウンター。動きのあるウェブサイトを簡単に作るのは古の時代からの悲願

本書でHTTPを学ぶ人の多くは、ウェブアプリケーションの開発を目的としていることと思います。ウェブアプリケーションは、その名の通りサーバーとして動作し、HTTPで入力と出力が行われるアプリケーションです。ブラウザ向けにHTMLを生成して返すこともあれば、他のウェブアプリケーションから利用されるウェブAPIを提供するサーバーのこともあります。

本章では、このウェブアプリケーション全般について説明します。もちろん、サーバーの種類によってAPIが異なったり、実装方針が異なったりします。また、筆者もありとあらゆるウェブアプリケーションサーバーに触った経験はありませんし、紙上ですべてのアプリケーションサーバーにそのまま適用できる説明をすることもできません。一部、読み替えなどが必要になる点についてはご了承ください。

13.1 用語の整理

まず、説明の前に用語の整理をしておきます。

クライアント(ブラウザ)

HTTPリクエストを送信するアプリケーション。curlコマンドなどもあるが、本章ではウェブサービスの文脈で説明する、基本的にはよく利用されているブラウザを想定する

フロントエンド

ブラウザ上で動作するHTMLとJavaScript、CSSで構成されるプログラムやデータ一式

ウェブサーバー / ウェブアプリケーションサーバー

HTTPのリクエストを受けてHTMLやJavaScriptやCSSなどのファイル、JSONなどを返すものをウェブサーバー、もしくはサーバーと呼ぶ。サーバーのうち、より高度なロジックが組み込まれ、リクエストに応じて動的な結果を返すものをウェブアプリケーションサーバー、もしくはウェブアプリケーションと言う。フロントエンドと対比させるため ...