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

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

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

12.1 用語の整理

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

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

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

フロントエンド

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

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

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