IoTの用語IoT中級

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

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

最終更新
公開
読了目安
約10分
執筆
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です。

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の比較(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で選べる

← 表は横にスクロールできます →

表で差が大きいのは、1対多の配信とサーバ側からの送信の行です。HTTPで「サーバから端末へ新しい指示があるか」を知るには、端末が定期的に問い合わせる(ポーリングする)必要があり、指示がなくても通信と電力を使います。MQTTでは端末がブローカーとの接続を保っておけば、指示が出た時点で届きます。

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

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

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

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

  1. 同じデータを複数の相手に配るか:監視画面・記録サーバ・分析システムなど受け手が複数なら、1回の発行で配れるMQTTが有利。
  2. サーバから端末へ、すぐに指示を届けるか:遠隔操作や設定変更を待たせたくないなら、接続を保って配信を受けるMQTT。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か所へ、変化のたびに同時に届けたい。最も適した方法はどれか。

  1. 各画面が数秒ごとにHTTPのGETで設備に問い合わせる
  2. 設備が各画面へ順番にHTTPのPOSTで送り直す
  3. 設備がMQTTで発行し、3か所がトピックを購読する
  4. 設備がCoAPのNONで記録用サーバにだけ送る

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

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

確認問題2:HTTP/3の下位で使われるのは?

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

  1. TCPの上のTLS 1.2
  2. UDPを使うQUIC
  3. TCPの上のWebSocket
  4. UDPを使うDTLS

正解: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の使い分けの説明として、適切でないものはどれか。

  1. 遠隔操作の指示をすぐ届けたいので、端末はMQTTで接続を保つ
  2. 外部のREST APIを呼び出す区間は、HTTPSで通信する
  3. ファームウェアのファイルは、HTTPSでまとめて取得する
  4. MQTTは要求・応答型なので、1対多の配信には向かない

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

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

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

よくある質問

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

HTTPの基本は、クライアントの要求にサーバが応答する形です。端末が短い間隔で問い合わせる方法や、TCPの上で双方向の通信を行うWebSocket(RFC 6455)を使う方法があります。IoTでは、接続を保ったまま配信を受けられる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日確認)

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

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

公式の出題カテゴリの比率どおりに組んだ無料お試しを、登録不要・カード不要で解けます。続きの模試と章別ドリルは買い切りで、月額はかかりません。

IoTシステム技術検定 中級

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

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

当サイトは、モバイルコンピューティング推進コンソーシアム(MCPC)とは関係のない個人が運営する非公式の学習教材です。掲載している問題はすべて当サイトのオリジナルで、実際の試験問題・過去問題・再現問題ではありません。試験の日程・受検料・出題範囲は公式サイト(https://www.mcpc-jp.org/license/ )で必ず確認してください。合格を保証するものではありません。合格の目安は当サイトの推定です。技術・制度の記述は「最終確認日」時点のものです。

← 対策記事の一覧へ