HTTPとHTTPSの違いとは?「はがき」と「封書」でわかりやすく解説

IT資格

Webサイトのアドレスバーを見ると、鍵アイコンがついているサイトとついていないサイトがあります。「httpとhttpsって、sが付くだけで何が違うの?」——調べてみると、この一文字の差が通信の安全性を大きく左右していることがわかりました。

この記事では、はがきと封書のたとえを使いながら、専門用語をなるべく使わずに解説します。IT資格の学習中の方や、Webシステムの仕組みを初めて学ぶ方に向けた内容です。


まず結論:HTTPとHTTPSは「通信内容を暗号化するかどうか」が違う

細かい説明の前に、一言でまとめます。

  • HTTP:通信内容が暗号化されていない(誰でも読める「はがき」のような通信)
  • HTTPS:通信内容がTLS(暗号化技術)で保護されている(封をした「封書」のような通信)
  • パスワードや個人情報を送るページでHTTPを使うと、通信経路上の第三者に内容を読まれるリスクがある

この2つは見た目の1文字以上に、仕組みそのものが違います。以下で順番に説明します。

HTTPとHTTPSの違いを示す図解:暗号化なしのHTTP通信と、TLSで暗号化されたHTTPS通信の比較
HTTPは暗号化なしで盗聴・改ざんのリスクがあり、HTTPSはTLSによる暗号化と証明書によるサーバー認証で通信を保護する。

HTTPとは?――内容が誰でも読める「はがき」のようなもの

HTTP(HyperText Transfer Protocol)とは、Webブラウザとサーバーがデータをやり取りするための基本的な通信の約束事(プロトコル)です。ページの表示に使われるHTML・画像・フォームの送信内容などは、すべてこのHTTPという仕組みでやり取りされています。

ただしHTTPには暗号化の機能がありません。これは、はがきに文章を書いて送るようなものです。

  • 送った内容は、配達の途中で誰でも読めてしまう
  • 郵便局員も、途中で拾った人も、内容をそのまま見られる
  • 差出人が本当に本人かどうかも、はがきの見た目だけでは確認できない

Webの通信も同じで、HTTPで送られたデータは暗号化されていないため、通信経路上の誰かがその内容を盗み見ることが技術的に可能です。カフェの無料Wi-Fiなど、他人と同じネットワークを使っている状況では特にこのリスクが現実味を帯びます。

HTTPSとは?――封をして鍵をかけた「封書」のようなもの

HTTPS(HTTP Secure)とは、HTTPの通信をTLS(Transport Layer Security、以前はSSLと呼ばれていた暗号化技術)で保護した仕組みです。データそのものはHTTPと同じようにやり取りされますが、その内容が暗号化されている点が異なります。

これは、封をした封書に鍵をかけて送るようなものです。

  • 中身は封筒に入っており、途中で開けても暗号化された文字しか見えない
  • 受け取った本人が「鍵」を持っている場合だけ、内容を正しく読める
  • さらに封書には差出人を証明する印(電子証明書)が付いており、「本当にその会社・サイトから送られたものか」を確認できる

つまりHTTPSは、①内容を読まれないようにする「暗号化」、②通信の途中で内容が改ざんされていないことを確認する「完全性の保証」、③接続先が偽サイトでないことを確認する「サーバー認証」の3つを兼ね備えた仕組みです。ログインフォームやクレジットカード情報の入力ページなど、重要な情報をやり取りするページでは、HTTPSが標準になっています。

「HTTPとHTTPSの違い」をはがきと封書でたとえると

この違いをいちばんわかりやすく整理できるのが、はがきと封書のたとえです。

HTTP = 誰でも読めるはがき

  • 内容がそのまま見える状態で送られる
  • 差出人が本人かどうかは確認できない
  • 途中で内容を書き換えられても気づけない

HTTPS = 鍵付きの封書

  • 内容が暗号化されており、途中で見ても読めない
  • 電子証明書によって差出人(サーバー)が本人であることを確認できる
  • 内容が途中で改ざんされていないことも確認できる

整理するとこうなります。

項目HTTPHTTPS
正式名称HyperText Transfer ProtocolHTTP Secure(HTTP+TLSによる暗号化)
暗号化なしあり(TLSで暗号化)
使用ポート番号80番443番
サーバー認証なし電子証明書によりサーバーの正当性を確認できる
ブラウザ表示「保護されていない通信」などの警告が出ることがある鍵アイコンが表示される
主な用途機密性の低い静的な情報の表示などログイン・決済・個人情報の送信を伴うページ全般

なぜHTTPだけではダメなのか?

「見られて困らない情報だけならHTTPでもいいのでは?」と思うかもしれません。しかし、実際には次のようなリスクがあります。

まず、通信内容が暗号化されていないため、公共のWi-Fiなど同じネットワーク上に悪意のある第三者がいる場合、ログインID・パスワード・入力フォームの内容などを盗み見られる可能性があります。さらに、通信の途中でデータを書き換える「改ざん」や、正規のサイトになりすまして偽のページに誘導する「なりすまし」といった攻撃を防ぐ手段も、HTTPには備わっていません。

こうしたリスクを踏まえ、Google Chromeは2018年以降、HTTPで通信しているサイトのアドレスバーに「保護されていない通信」といった警告を表示するようになりました。これは、暗号化されていないHTTP通信では改ざんやなりすましのリスクを防げないことをブラウザ側が明示する取り組みです。

TLSによる暗号化を正しく実装すると、通信内容の盗み見(機密性の侵害)・改ざん(完全性の侵害)・なりすまし(認証の欠如)という3種類のリスクをそれぞれ防ぐことができます。この考え方はOWASP(Webセキュリティに関する国際的な非営利団体)が公開しているTransport Layer Security Cheat Sheetでも整理されており、現在はTLS 1.3を基本とし、古いTLS 1.0・1.1・SSLは脆弱性の観点から使用を避けるべきとされています。

つまり、「見られて困らないから大丈夫」という判断だけでは、改ざんやなりすましのリスクまではカバーできません。だからこそ、現在のWebでは全てのページをHTTPSにする「常時SSL化」が基本的な考え方になっています。

無料の証明書発行サービスも普及し、以前よりHTTPS化のコストは下がっています。編集部としては、コストの低さと得られる安心感を比べると、今の時代に「あえてHTTPのままにしておく理由」はほとんど残っていないと感じています。

実際の使われ方:ブラウザがHTTPSで接続するまでのステップ

ブラウザでWebサイトを開いたとき、裏側でどんな流れになっているか見てみましょう。

Step 1 — ユーザーがブラウザのアドレスバーに「https://」から始まるURLを入力する。

Step 2 — ブラウザがサーバーに接続を要求し、サーバーが電子証明書を提示する(=サーバー認証の準備)。

Step 3 — ブラウザは証明書が信頼できる機関(認証機関)によって発行されたものかを確認する。

Step 4 — 確認が取れると、ブラウザとサーバーの間で暗号化に使う鍵の情報を安全に交換する(TLSハンドシェイク)。

Step 5 — 以降のやり取り(ページの表示・フォームの送信など)は、この鍵を使って暗号化された状態で行われる。

Step 6 — ブラウザのアドレスバーに鍵アイコンが表示され、暗号化された通信であることが視覚的に確認できる。

Step 7 — 一方、証明書が確認できない・期限切れなどの場合は、ブラウザが警告画面を表示し、接続を止めることもある。

このように、HTTPSは「暗号化する」という1つの処理だけでなく、接続の最初に相手を確認し、鍵を安全に共有し、そのうえで暗号化するという複数のステップで成り立っています。

まとめ:3行で理解するHTTPとHTTPS

最後に、いちばん簡単に整理します。

  • HTTP = 通信内容が暗号化されていない、はがきのような通信(80番ポート)
  • HTTPS = TLSで暗号化・認証された、封書のような通信(443番ポート)
  • 現在のWebは「常時HTTPS」が基本 = ログインや決済だけでなく、サイト全体をHTTPSにすることが標準的な考え方になっている

HTTPとHTTPSの違いを「暗号化されているかどうか」という軸で理解できると、Webシステムのセキュリティ設計の理解がぐっと深まります。IT資格の学習でも頻出のポイントなので、ぜひ押さえておいてください。


よくある質問

Q. HTTPSの「S」は何の略ですか?
A. Secure(安全な)の頭文字です。HTTP Secure、つまり「TLSで暗号化されたHTTP」という意味になります。以前はSSL(Secure Sockets Layer)という技術が使われていましたが、現在はその後継であるTLS(Transport Layer Security)が使われています。

Q. HTTPSにすれば、100%安全になりますか?
A. いいえ、絶対ではありません。HTTPSは通信経路上の盗み見・改ざん・なりすましを防ぐための仕組みであり、サーバー自体の脆弱性やアプリケーションの不具合、フィッシングサイトへの誘導といったリスクを防ぐものではありません。「通信そのものが安全であること」を保証する仕組みだと理解しておくのが正確です。

Q. 個人のブログでもHTTPSにする必要がありますか?
A. ログインフォームや問い合わせフォームなど、ユーザーが情報を入力する箇所が1つでもあるなら、HTTPS化を検討する価値があります。また、GoogleChromeなどの主要ブラウザはHTTPサイトに「保護されていない通信」といった警告を表示するため、閲覧者に不安を与えないという観点でも、常時HTTPS化が現在の標準的な対応とされています。

Q. IT資格の試験ではHTTPとHTTPSはどのように出題されますか?
A. 基本情報技術者試験や応用情報技術者試験のネットワーク・セキュリティ分野では、使用するポート番号(HTTPは80番、HTTPSは443番)や、HTTPSが暗号化・認証・改ざん検知のどれを実現する仕組みかを問う問題として出題されることがあります。用語の意味だけでなく、TLSが果たす役割(暗号化・完全性・認証)とセットで理解しておくと得点につながりやすいです。

コメント

タイトルとURLをコピーしました