Webアプリを開発していると、「このサーバーはWASです」「APIサーバーが別にあって…」「APサーバーにデプロイします」などといった言葉を聞くことがある。
言葉が似ていて、何がちがうのか混乱しやすいが、それぞれの役割ははっきりしている。
ちがいをひとことで言えば、「何を返すのか」「誰が画面を作るのか」に注目すれば理解しやすい。
Contents
1. Web Application Server(WAS):画面も作ってくれるサーバー
WASは、Webアプリの“画面”をサーバーで作って返す役割を持つ。
たとえばログイン画面や、商品一覧のページなど。こうしたページをサーバー側で作って、HTMLとしてユーザーのブラウザに返すのがWAS。
WASは、ページを作るときに「テンプレートエンジン」という仕組みを使うことが多い。これは、設計図(テンプレート)に、必要なデータを当てはめて完成したページを組み立てるもの。
🍽 たとえ話:定食屋の店主
WASは、料理も盛り付けも全部やって、できた料理をそのままお客さんに出す。
お客さんはそのまま食べればいい。
つまり、WASは「メニュー作成」「料理」「盛り付け」まで全部やるシステム。
✅ WASの特徴まとめ
- HTML、CSS、JavaScriptなど「見えるページ」を返す
- 画面の中身をサーバーが決める
- ユーザーのブラウザはそれをそのまま表示するだけ
2. APIサーバー:データだけを返すサーバー
APIサーバーは、データだけを返すサーバー。画面(HTMLなど)は作らない。
ユーザーが見ている画面は、React や Vue などのフロントエンドの仕組みで動いていて、そこから APIサーバーに「データちょうだい」とお願いして情報をもらう。
APIサーバーは、お願いに対して「JSON」や「XML」という形式でデータだけを返す。見た目は一切作らない。あくまで必要な材料を出すだけの役割。
🧺 たとえ話:スーパーの食材コーナー
APIサーバーは、食材だけを用意するスーパーのコーナーのようなもの。
肉、野菜、調味料などを袋に入れて「はい、どうぞ」と渡す。
でも、それをどう料理して、どう盛りつけて、どう食べるかはお客さん(フロントエンド)が考える。
つまり、APIサーバーは“材料だけ出す係”。
✅ APIサーバーの特徴まとめ
- JSONなどの形式でデータを返す
- HTMLは返さない、画面は作らない
- SPA(シングルページアプリケーション)やスマホアプリと組み合わせて使うことが多い
3. APサーバー(アプリケーションサーバー):あいまいな使われ方に注意
APサーバーという言葉は、正式な定義があいまいで、場面によって意味が変わる。
あるときはWASのことを指していたり、またあるときはAPIサーバーのことだったり、文脈によって違う意味で使われる。
日本ではとくに、「Webサーバー」と「APサーバー」を分けて使うことが多い。
たとえば、
- Webサーバー(例:Nginx)は、リクエストを受け取って静的なファイル(画像やHTML)を返す
- APサーバー(例:RailsやNode.js)は、アプリケーションのロジックを動かす本体
このような使われ方をする。
👨🍳 たとえ話:料理人全般を指す言葉
APサーバーという言葉は、料理人そのものにたとえられる。
どんな料理を作るのか?どこまで仕事をするのか?はそのときどきでちがう。
イタリアンのシェフかもしれないし、寿司職人かもしれない。
つまり、「APサーバー」という言葉を見たときは、その人が何の料理を担当しているのか(= どんな役割のサーバーか)を、ちゃんと文脈から判断する必要がある。
✅ APサーバーの特徴まとめ
- 定義があいまいで文脈によって意味が変わる
- インフラの話では「WebとAPに分ける」といった使い方をされる
- 技術者同士でも「APってどっちのこと?」と確認が必要になる場面が多い
まとめ:料理でたとえるとちがいがわかりやすい
サーバー名 | 説明 | たとえ話 |
---|---|---|
WAS(Web Application Server) | 画面もデータも返すサーバー | 定食屋の店主が料理を作って盛り付けて出す |
APIサーバー | データだけ返すサーバー | 食材だけ渡すスーパーの係 |
APサーバー | 文脈しだいで意味が変わる用語 | 料理人全般をまとめて言っているようなもの |
最後に:どれを使えばいいの?
- 昔ながらのWebサイトを作るなら、WAS(サーバーがHTMLを作る方式)がシンプルで向いている
- 今どきのアプリ(ReactやVueなどを使う)なら、フロントで画面を作り、APIサーバーでデータを返す方式が一般的
- APサーバーという言葉が出てきたら、その場の人がどういう意味で使っているかをよく確認すること
それぞれの役割をしっかり整理すれば、「なんとなく聞いたことあるけどよくわからないサーバーの名前」も、ちゃんと使い分けできるようになる。
Webアプリの構成が見えてくると、全体の流れももっと理解しやすくなる。