ICT STUDY GUIDEIoTの用語IoT中級

HTTPとMQTTの使い分け|IoT中級で問われる点

MQTTとHTTPの違いを、通信モデル・ヘッダの重さ・サーバからの双方向の送信の3点で比較し、用途別に選ぶ判断手順を示します。HTTP/3とQUICの位置づけ、IoT中級で取り違えやすい点の表、全選択肢を解説した独自の確認問題3問つきです。

最終更新
読了目安
約11分
執筆
ICT模試 編集部
まず結論

この記事の要点

  • HTTPは、クライアントの要求にサーバが応答する、状態を持たない(ステートレスな)要求・応答型のプロトコル。MQTTは、ブローカーが購読者へ配るpublish/subscribe型。
  • IoTでの使い分けの軸は3つ。1対多に配るか、サーバから端末へすぐ指示を送るか、回線が細く不安定か。どれかに当てはまればMQTTが有力。
  • 既存のWeb APIとつなぐ、画像やログをまとめて送る、1回ごとの問い合わせで足りる場合はHTTPが素直。
  • HTTP/3(RFC 9114、2022年6月)はHTTPの意味をQUIC(RFC 9000、UDPベース)の上に載せたもの。MQTTはTCPなど順序どおり欠けずに届く通信の上で動く。

HTTPとMQTTの使い分けとは?一言でいうと?

基本の比較は、HTTPの要求・応答と、MQTTのブローカーを使うpublish/subscribeです。ただしHTTPにも応答を開いたまま通知を送るSSEなどがあり、「HTTPなら必ず定期ポーリング」とは限りません。

HTTPは、IETFのRFC 9110(2022年6月)で「状態を持たないアプリケーション層のプロトコル」と定義され、クライアントが送った要求にサーバが応答する形が基本です。各要求はそれだけで理解できるように扱われます。MQTTは、OASIS標準のMQTT 5.0(2019年3月7日)で定められたpublish/subscribe型で、センサなどが発行したメッセージを、ブローカー(サーバ)がそのトピックを購読しているクライアントに配ります(2026年9月27日確認)。

IoTでは、センサの値を1か所に集めて複数の画面やシステムに配る、クラウドから現場の機器へ指示を送る、といった流れが多くなります。この「配る」「押し出す」の場面でMQTTが選ばれやすく、クラウドのWeb APIとのやり取りや大きなファイルの送信ではHTTPが使われる、という役割分担が生まれます。

聞きに行く HTTP、配ってもらう MQTT

HTTP

要求・応答型

  • つながる相手クライアントがサーバの URI を知っていて要求を送る
  • データの流れサーバが要求に応答する
  • 1対多の配信受け手ごとに要求・応答が必要
  • サーバ側からの送信新しい指示は定期的な問い合わせ(ポーリング)で知る

MQTT

publish/subscribe 型

  • つながる相手送り手も受け手もブローカーとだけつながる
  • データの流れ送り手がトピックに発行し、ブローカーが購読者へ配る
  • 1対多の配信1回の発行で購読者全員に届く
  • サーバ側からの送信接続を保っていれば、指示が出た時点で届く

「必要なときに聞きに行く」なら HTTP、「変化があったら配ってもらう」なら MQTT。

通信モデル・ヘッダの重さ・双方向はどう違う?比較表

要求応答と購読配信の違い:要求に対して返答を得る場面と、仲介役を通じて購読先へ届ける場面を対比しています
要求に対して返答を得る場面と、仲介役を通じて購読先へ届ける場面を対比しています。実際の通信方式や配信の条件は本文の説明で確認します。
HTTPとMQTTの比較(RFC 9110・9114、OASIS MQTT 5.0 をもとに整理。2026年9月時点)
比較軸HTTPMQTT
規格IETF。意味はRFC 9110、HTTP/1.1はRFC 9112、HTTP/2はRFC 9113、HTTP/3はRFC 9114(いずれも2022年6月)OASIS MQTT 5.0(2019年3月7日)。3.1.1はISO/IEC 20922:2016
通信モデル要求・応答(クライアントが聞き、サーバが答える)publish/subscribe(ブローカーが購読者へ配る)
相手を知る必要クライアントがサーバのURIを知っている送り手も受け手もブローカーだけを知っていればよい
1対多の配信受け手ごとに要求・応答が必要1回の発行でブローカーが購読者全員に配る
サーバ側からの送信基本はクライアントの要求への応答として返す接続を保ったまま、ブローカーからいつでも配信できる
ヘッダの重さ名前と値の組のヘッダ(HTTP/2はHPACK、HTTP/3はQPACKで圧縮)固定ヘッダは最小2バイト
下位の通信HTTP/1.1・HTTP/2はTCP、HTTP/3はQUIC(UDPベース)TCP/IP、TLS、WebSocketなど順序どおり欠けずに届く通信
既定ポートhttp 80、https 4431883(TLSなし)、8883(TLS)
確実さの調整アプリケーション側で再送などを作るQoS 0・1・2で選べる

表と既存図のHTTP側は、通常の問い合わせやポーリングを代表例として読んでください。HTTPでは応答の中でイベントを継続送信するSSEも使えます。MQTTでは、接続を保った購読者へブローカーが配信します。到着の遅延や接続断への扱いは、それぞれの設計条件で確認します。

双方向の通信が必要なブラウザ向けには、WebSocket(RFC 6455、2011年12月)があります。WebSocketはTCPの上で、サーバとの双方向の通信を、複数のHTTP接続を開かずに実現するためのプロトコルです。MQTTの仕様書は、MQTTを運ぶ手段としてWebSocketも使えるとしています。

POINT

HTTP/3は、HTTPの意味(メソッドやステータスコード)をQUICの上に載せたものです。QUIC(RFC 9000、2021年5月)はUDPを使う、多重化と暗号化を備えたトランスポートです。HTTPの版が変わっても、要求・応答型という通信モデルは変わりません。

HTTPの応答を開いたまま受け取るSSEもある

WHATWGのHTML Standardは、EventSourceでHTTPを使ったサーバからのイベント配信を定めています。応答はtext/event-streamで送り、複数イベントを流せます。ブラウザが毎回新しい値を取りに行くポーリングだけがHTTPの使い方ではありません。

たとえば監視画面の値を更新するなら、サーバから画面への通知をSSEで受け、利用者の設定変更は別のPOSTで送る構成を考えられます。MQTTを不要とする一般則ではなく、通知方向、購読者の数、端末、再接続などの条件を比較する例です。

方法更新を受け取る流れ別途確かめること
HTTPポーリング画面側から繰り返し問い合わせ間隔と通信回数
HTTP上のSSE開いた応答でサーバ→画面へイベント接続断・再接続、操作用の要求
MQTTブローカーがトピックの購読者へ配信購読・QoS・接続状態

SSEの再接続やイベントIDがあっても、業務処理の重複が自動的に消えるとは限りません。方式名と、アプリ側で必要な確認を分けてください。

用途からどう選ぶ?判断の手順

設計の場面や事例型の4択では、次の順に条件を確かめると選びやすくなります。

HTTP か MQTT かを決める確認の順番
  1. 1

    複数の相手に配るか

    はい → MQTT(1回の発行で配れる)

  2. 2

    端末へすぐ指示を届けるか

    はい → MQTT(接続を保って配信を受ける)

  3. 3

    回線が細い・不安定・機器が非力か

    はい → MQTT。さらに軽くするなら CoAP も候補

  4. 4

    既存の Web API とつなぐか

    はい → HTTP(HTTPS)で直接呼ぶ

  5. 5

    まとまったデータを一度に送るか

    はい → HTTP(画像・ログ・ファームウェア)

区間ごとに選ぶ。現場の機器とクラウドの間は MQTT、クラウドと外部サービスの間は HTTP のような使い分けも多い。

判断の順番は当サイトの整理です。

  1. 同じデータを複数の相手に配るか:監視画面・記録サーバ・分析システムなど受け手が複数なら、1回の発行で配れるMQTTが有利。
  2. 通知の方向・接続・遅延を確認する:MQTTの購読配信、HTTPのポーリング、SSE等を比較する。ポーリングでは問い合わせ間隔の待ち時間が生じるが、HTTP全体に一律の間隔があるわけではない。
  3. 回線が細い・不安定・機器が非力か:ヘッダが小さく、QoSで確実さを選べるMQTTが扱いやすい。さらに軽くしたい場合は、UDPで動くCoAPも候補になる。
  4. 既存のWeb API・クラウドのサービスとつなぐか:REST APIとして公開されている相手なら、HTTP(HTTPS)で直接呼ぶのが素直。
  5. まとまったデータを一度に送るか:画像・ログ・ファームウェアのファイルなど、1回の要求で大きなデータを受け渡すならHTTP。

実際のIoTシステムでは、現場の機器とゲートウェイ・クラウドの間はMQTT、クラウドと外部サービスの間はHTTPのように、区間ごとに使い分けることも珍しくありません。どちらか一方が常に優れている、という選択肢には注意してください。

IoT中級ではどこで、どう問われる?

HTTPとMQTTの使い分けは、IoTシステム技術検定 中級の出題カテゴリ「センサ/アクチュエータ技術と通信方式(デバイス、ネットワーク、LPWA、プロトコル)」の「プロトコル」に当たります。公式ページの図では比率が25〜30%です(MCPC公式ページ、2026年9月27日確認)。公式テキスト『IoT技術テキスト 第4版』では第4章「IoT通信方式」に当たる範囲です(章とカテゴリの対応は当サイトの推定)。

出題数は公表されていません。4択では、次のような観点が考えられます(当サイトの予想で、出題の再現ではありません)。

  • 要求・応答型とpublish/subscribe型の特徴を入れ替えた記述を見抜く
  • 用途の条件(1対多、遠隔操作、細い回線)から適したプロトコルを選ぶ
  • 各プロトコルの下位の通信(HTTP/3はQUIC、MQTTはTCP、CoAPはUDP)の組合せ
  • ヘッダの大きさや、サーバからの送信の可否など、IoT向きの理由を問う

MQTTのQoSや保持メッセージは MQTTとは、UDPで動くREST型の選択肢は CoAPとは で詳しく扱います。小さなデータが大量に届くというIoTの通信の性質は IoTの通信トラフィックの特性 にまとめています。

どこで取り違えやすい?つまずき別の見直し表

取り違え正しい整理見直す手がかり
HTTP/3もTCPで動くと思うHTTP/3はQUIC(UDPベース)の上で動く。TCPを使うのはHTTP/1.1とHTTP/2RFC 9114=QUICの上のHTTP
MQTTも要求・応答型だと思うMQTTはpublish/subscribe型。ブローカーが購読者へ配る「購読」「トピック」ならMQTT
MQTTはHTTPより常に優れていると思うWeb APIとの連携や大きなファイルの送信はHTTPが素直区間ごとに使い分ける
HTTPは状態を持つと思うRFC 9110はHTTPを状態を持たないプロトコルと定義。状態はクッキーなどで別に扱うステートレス
MQTTでは端末どうしが直接つながると思う送り手も受け手もブローカーとだけ接続する中継役はブローカー

確認問題1

多数の画面へ同時に配るならどれ?

工場の設備の稼働状態を、事務所の監視画面、保守担当者のタブレット、記録用サーバの3か所へ、変化のたびに同時に届けたい。最も適した方法はどれか。

選択肢を準備しています。「正解と解説を見る」は先に開けます。

正解と解説を見る

正解:3。MQTTなら、設備が1回発行するだけで、ブローカーがトピックを購読している3か所すべてに配ります。受け手が増えても設備側の設定は変わりません。

1は変化がなくても問い合わせが続き、問い合わせの間隔の分だけ届くのが遅れます。2は受け手ごとに送り直す必要があり、受け手が増えるほど設備の負担が増えます。4は記録用サーバにしか届かず、「3か所へ同時に」という条件を満たしません。

確認問題2

HTTP/3の下位で使われるのは?

RFC 9114で規定されたHTTP/3が、HTTPの意味を載せて運ぶために使うトランスポートとして、最も適切なものはどれか。

選択肢を準備しています。「正解と解説を見る」は先に開けます。

正解と解説を見る

正解:2。HTTP/3は、HTTPの意味をQUIC(RFC 9000)の上に載せたものです。QUICはUDPを使い、多重化と暗号化を備えたトランスポートです。

1はHTTP/1.1やHTTP/2をHTTPSで使うときの組合せに近く、HTTP/3ではありません。3のWebSocketはTCPの上で双方向の通信を行うプロトコルで、HTTP/3の土台ではありません。4のDTLSはUDP向けのTLSで、CoAPの暗号化(coaps)などに使われます。

確認問題3

IoTでの使い分けとして適切でないものは?

IoTシステムでのHTTPとMQTTの使い分けの説明として、適切でないものはどれか。

選択肢を準備しています。「正解と解説を見る」は先に開けます。

正解と解説を見る

正解:4。MQTTはpublish/subscribe型で、1回の発行をブローカーが複数の購読者に配るため、1対多の配信に向きます。「要求・応答型」「1対多に向かない」の2点とも誤りです。

1は、接続を保っておけばブローカーからすぐに配信を受けられるので適切です。2は、REST APIとして公開された相手にはHTTP(HTTPS)で直接つなぐのが素直なので適切です。3も、まとまったファイルを1回の要求で受け取る用途にHTTPが向くため適切です。

プロトコルの使い分けに慣れたら、IoT中級の無料お試し20問 で、データ活用やセキュリティも含めた本番に近い形で試してください。登録なしで全問の解説まで読めます。

通信方式を選んだ後の再送設計

通信方式の違いを理解したら、再送時の重複登録と冪等性で、通信の到達と業務処理の完了を分けて考えます。タイムアウトは、サーバーで処理されなかった証拠とは限りません。

よくある質問

HTTPでもサーバから端末へ送る方法はありませんか?

あります。SSE(Server-sent events)は、HTTPの応答を開いたままサーバからイベントを受け取る方法です。クライアントからの操作は別のHTTP要求等で扱います。双方向にはWebSocket等もあり、MQTTのブローカーによる購読配信とは設計を分けて比較します。

MQTTとHTTPを1つのシステムで両方使ってもいいですか?

問題ありません。現場の機器とブローカーの間はMQTT、クラウドと外部サービスの間はHTTPのように、区間ごとの条件で選ぶのが一般的な考え方です。ゲートウェイやクラウドの側で、2つのプロトコルの間を橋渡しします。

HTTP/3にするとIoTの通信は速くなりますか?

QUICは接続の確立を短くする工夫などを持ちますが、効果は回線の状態や通信の回数で変わります。HTTP/3にしても要求・応答型という通信モデルは同じなので、1対多の配信やサーバからの即時の送信という点ではMQTTとの違いは残ります。

出典・参考

  1. [1]MCPC IoTシステム技術検定 中級(出題カテゴリと比率。2026年9月27日確認)
  2. [2]OASIS: MQTT Version 5.0(2019年3月7日。2026年9月27日確認)
  3. [3]RFC 9110: HTTP Semantics(2022年6月。2026年9月27日確認)
  4. [4]RFC 9114: HTTP/3(2022年6月。2026年9月27日確認)
  5. [5]RFC 9000: QUIC(2021年5月。2026年9月27日確認)
  6. [6]RFC 9113: HTTP/2(2022年6月。2026年9月27日確認)
  7. [7]RFC 9204: QPACK(2022年6月)/RFC 7541: HPACK(2015年5月)(2026年9月27日確認)
  8. [8]RFC 6455: The WebSocket Protocol(2011年12月。2026年9月27日確認)
  9. [9]WHATWG HTML Standard:Server-sent events(2026年11月10日確認)

本番と同じペースで腕試し

記事の次は、本番形式の問題で。

各検定の出題カテゴリをもとに作った独自の無料お試しを、登録不要・カード不要で解けます。本番と同じ出題配分とは限りません。続きの模試と章別ドリルは買い切りで、月額はかかりません。

IoTシステム技術検定 中級

80問・90分の模試と章別ドリル・¥4,980(税込・買い切り)

IoT中級の無料お試し20問
料金と収録内容を見る →

当サイトは、MCPC・全日本情報学習振興協会・IPAとは関係のない個人が運営する非公式の学習教材です。掲載している問題はすべて当サイトのオリジナルで、実際の試験問題・過去問題・再現問題ではありません。試験の日程・受検料・出題範囲・合格基準は各試験の公式サイト(モバイル・IoT:https://www.mcpc-jp.org/license/ 、サイバー管理士:https://www.joho-gakushu.or.jp/isme/ 、情報セキュリティマネジメント(SG):https://www.ipa.go.jp/shiken/kubun/sg.html )で必ず確認してください。教材内の正答率や学習の目安は、本番の評価点や公式の合格基準とは異なります。合格を保証するものではありません。技術・制度の記述は「最終確認日」時点のものです。

← 対策記事の一覧へ