---
title: "Web APIとは？CGI・HTML・URLとの違いとデータ連携の考え方【基本情報技術者試験】"
description: "Web APIを「Web経由で他のアプリケーションやシステムが機能やデータを利用するための窓口」として整理し、CGI、REST API、JSON、HTML、URLとの違いをFE試験で切れるように解説します。"
last_modified_at: "2026-07-25"
canonical_url: "https://stemtazoo.github.io/fe/web-api/"
section: "fe"
---

## まず結論

Web APIとは、**Web経由で、他のアプリケーションやシステムが機能やデータを利用するための窓口**です。

APIは、Application Programming Interface の略です。

基本情報技術者試験では、次のように判断すると選択肢を切りやすくなります。

| 用語 | 何を表す？ | 判断の合図 |
|---|---|---|
| Web API | Web経由で機能やデータを利用する窓口 | API、JSON、データ取得、サービス連携 |
| CGI | Webサーバと外部プログラムを連携させる仕組み | 外部プログラムを実行、結果をブラウザへ返す |
| REST API | URLとHTTPメソッドで資源を操作するAPIの設計スタイル | GET、POST、PUT、DELETE、リソース |
| JSON | データ交換形式 | `{}`、キーと値、軽量なデータ |
| HTML | Webページの構造を書く言語 | タグ、画面表示、文書構造 |
| URL | Web上の資源の場所 | アドレス、リソースの位置 |

問題文に **「他システムと連携」**、**「Web経由でデータを取得」**、**「JSONを返す」** が出たら、Web APIを疑います。

## 直感的な説明

Web APIは、アプリやシステムがWeb経由で使える注文口のようなものです。

人がブラウザで画面を見る場合は、HTMLのページを見ることが多いです。

```text
人
↓
ブラウザで画面を見る
↓
HTML
```

一方、アプリや別のシステムがデータを使いたい場合は、画面よりも、扱いやすいデータが必要です。

```text
アプリ
↓
Web APIを呼び出す
↓
JSONなどのデータを受け取る
```

例えば、天気アプリが天気情報を表示する場合、アプリはWeb APIから天気データを取得し、そのデータを画面に表示します。

つまり、Web APIは **人が見る画面ではなく、プログラムが利用しやすい形で機能やデータを提供する入口** と考えると分かりやすいです。

## 定義・仕組み

Web APIは、HTTPやHTTPSなどのWebの仕組みを使って、外部のアプリケーションやシステムに機能やデータを提供するインタフェースです。

代表的な流れは次のとおりです。

1. アプリやシステムが、指定されたURLへリクエストを送る
2. サーバ側がリクエスト内容を処理する
3. サーバがJSONやXMLなどの形式でデータを返す
4. アプリやシステムが受け取ったデータを利用する

```text
アプリ・他システム
↓ リクエスト
Web API
↓ レスポンス
JSONなどのデータ
```

Web APIでは、次のようなデータ形式が使われます。

| 形式 | 特徴 |
|---|---|
| JSON | 軽量で読み書きしやすい。Web APIでよく使われる |
| XML | タグを使って構造化する。システム連携で使われることがある |
| CSV | 表形式データの受け渡しに使われることがある |

このテーマは、基本情報技術者試験の「ネットワーク」や「システム連携」と関係する内容です。公式の出題範囲やシラバスは、[IPA：基本情報技術者試験](https://www.ipa.go.jp/shiken/kubun/fe.html) から確認できます。

## CGIとの違い

Web APIとCGIは、どちらもWebとプログラムの連携に関係します。

ただし、試験では **何を聞かれているか** で切り分けます。

| 用語 | 主な相手 | 返すもののイメージ | 判断の合図 |
|---|---|---|---|
| CGI | ブラウザで見る利用者 | HTMLなどの画面表示 | Webサーバが外部プログラムを実行し、結果をブラウザへ返す |
| Web API | 他のプログラムやサービス | JSONやXMLなどのデータ | Web経由で機能やデータを提供する |

例えば、フォーム入力を受け取り、Webサーバが外部プログラムを実行して、結果ページをブラウザに返すならCGIの文脈です。

```text
利用者がフォーム送信
→ Webサーバが外部プログラムを実行
→ 結果ページをブラウザに返す
→ CGI
```

一方、スマホアプリがサーバから店舗一覧や天気情報を取得するならWeb APIの文脈です。

```text
アプリがURLを呼び出す
→ サーバがJSONデータを返す
→ アプリがデータを使う
→ Web API
```

選択肢にCGIとWeb APIが両方ある場合は、次のように考えると安全です。

```text
Webサーバが外部プログラムを呼び出す仕組み
→ CGI

他のアプリやシステムがWeb経由でデータや機能を使う窓口
→ Web API
```

## REST APIとJSON

Web APIの記事では、REST APIとJSONも一緒に押さえておくと選択肢を切りやすくなります。

REST APIは、Web APIの作り方・設計スタイルの一つです。

URLで資源を表し、HTTPメソッドで操作を表す考え方です。

| HTTPメソッド | ざっくりした意味 |
|---|---|
| GET | 取得する |
| POST | 作成・送信する |
| PUT | 更新する |
| DELETE | 削除する |

JSONは、Web APIでよく使われるデータ形式です。

```json
{
  "id": 1,
  "name": "sample"
}
```

REST APIは **APIの設計スタイル**、JSONは **データの表し方** です。

```text
REST API
→ どういうURLやHTTPメソッドで機能を使うか

JSON
→ 返ってくるデータをどう表すか
```

## 科目Aでどう出る？

科目Aでは、Web関連用語やシステム連携の説明として出題されやすいです。

判断するときは、次の表で切ります。

| 問題文の表現 | 選びたい用語 |
|---|---|
| Web経由で他システムに機能やデータを提供する | Web API |
| URLとHTTPメソッドで資源を操作する設計スタイル | REST API |
| Web APIでよく使われる軽量なデータ交換形式 | JSON |
| Webサーバが外部プログラムを実行して結果をブラウザへ返す | CGI |
| Webページの構造を記述する | HTML |
| Webページの見た目を指定する | CSS |
| Web上の資源の場所を示す | URL |

特に、Web APIは「画面を作るもの」ではなく、**アプリケーションやシステムが使う入口** として出ることが多いです。

```text
画面を返す
→ HTMLやWebアプリの文脈

データを返す
→ Web APIの文脈
```

## どんな場面で使う？

問題文では、Web APIはシステム間連携の読み取りで役立ちます。

例えば、次のような場面です。

```text
販売管理システムが、在庫管理システムのAPIを呼び出す
↓
在庫数のデータを取得する
↓
注文画面に在庫状況を表示する
```

この場合、ポイントは **システム間でデータをやり取りしている** ことです。

Web APIでは、認証や権限管理も重要になります。

| 観点 | 例 |
|---|---|
| 認証 | APIキー、OAuth、トークン |
| 通信の保護 | HTTPS |
| データ形式 | JSON、XML |
| 操作 | GET、POST、PUT、DELETE |
| エラー処理 | ステータスコード、エラーメッセージ |

問題文では、APIを公開すれば終わりではなく、**誰が、どのデータに、どの操作をできるか** を読むことが大切です。

## よくある誤解・混同

Web APIでは、次の混同がよく起こります。

| 混同 | 正しい切り分け |
|---|---|
| Web APIはHTMLページを表示する仕組み | Web APIは主にプログラム向けにデータや機能を提供する |
| Web APIとCGIは同じ | CGIはWebサーバが外部プログラムを呼ぶ仕組み。Web APIはWeb経由で機能やデータを提供する窓口 |
| REST APIとJSONは同じ | REST APIは設計スタイル。JSONはデータ形式 |
| URLがあればすべてWeb API | URLは場所を示すだけ。APIとしての機能やデータ提供があるかを見る |
| APIキーがあれば安全 | APIキーだけでなく、権限・HTTPS・ログ管理なども必要 |

特に、CGIとの違いは次のように覚えます。

```text
CGI
→ Webサーバが外部プログラムを呼ぶ仕組み

Web API
→ 他のプログラムがWeb経由で機能やデータを使う窓口
```

試験では、**呼び出す主体** と **返すもの** を見ると切り分けやすいです。

- Webサーバが外部プログラムを呼ぶ → CGI
- アプリや他システムがデータを取りに行く → Web API
- 人が見る文書構造 → HTML
- データの種類や交換形式 → MIMEやJSON
- 場所を示す → URL

## まとめ（試験直前用）

- Web APIは、Web経由で他のアプリケーションやシステムが機能やデータを使うための窓口
- 判断の合図は、API、JSON、データ取得、サービス連携、システム間連携
- CGIは、Webサーバが外部プログラムを呼び出し、結果をブラウザへ返す仕組み
- REST APIは、URLとHTTPメソッドで資源を操作するAPIの設計スタイル
- JSONは、Web APIでよく使われるデータ交換形式
- HTMLは人が見るWebページの構造、URLはWeb上の資源の場所
- CGIとWeb APIは、呼び出す主体と返すものを見ると切り分けやすい
