Shiraude Code Docs
用語2026年8月24日HTTPS通信セキュリティ証明書暗号化

HTTPSとは?通信を暗号化する仕組み

HTTPSはウェブの「封筒付き郵便」

ブラウザのアドレス欄に https:// と表示されているのを見たことがあると思います。この S は Secure(安全)の S で、ウェブサイトとブラウザの間でやり取りされるデータが暗号化されていることを意味します。

例え話で言うと、http:// はハガキです。宛先も本文も裏面に丸見えで、配達の途中で誰かが手に取れば内容は読めてしまいます。対して https:// は、中身が見えない封筒に入れて封をした郵便です。運ぶ人には「どこ宛てか」はある程度分かっても、中に書かれた文章までは読めません。

ログインのパスワード、クレジットカード番号、チャットに書いた文章。こういったものをハガキで送りたい人はいないはずで、だから今のウェブはほぼ全部が HTTPS になっています。

HTTPとHTTPSの違い

HTTP

データがそのままの形で流れる。途中の経路にいる誰かが内容を読んだり、書き換えたりできる余地がある。

HTTPS

やり取りが暗号化される。第三者が途中で覗いても意味のある内容として読み取れない。さらに、接続先が本物のサイトかどうかも確認される。

ここで意外と見落とされがちなのが、HTTPS が守っているのは「盗み見の防止」だけではないという点です。相手が本物かどうかの確認と、途中で内容が改ざんされていないかの確認もセットになっています。

鍵マークと証明書

ブラウザのアドレス欄に鍵のアイコンが出るのは、そのサイトが「証明書」を提示していて、ブラウザがそれを検証できたときです。証明書というのは、第三者の機関が「このドメインはこの運営者のものです」と保証してくれる身分証明書のようなものだと思ってください。

身分証明書があるおかげで、偽サイトが本物のドメイン名を名乗ってあなたのブラウザを騙す、ということが難しくなります。逆に「証明書が無効です」という警告が出た場合は、素直に引き返すのが安全です。

通信が始まるまでの流れ

ブラウザがサイトに接続
サイトが証明書を提示
ブラウザが証明書を検証
暗号化された通信を開始

この一連のやり取りは、ページを開く一瞬のあいだに自動で終わります。普段まったく意識しないのは、それだけうまく裏側に隠れているからです。

開発をしていると出てくる場面

ツールや API を使っていると、URL が https:// で始まっているものをよく見ます。外部のサービスにアクセスする URL は基本的に HTTPS で、これは通信内容を守るためです。

一方、自分のパソコンの中だけで動かしている開発用サーバーは http://localhost:3000 のように HTTP のままのことがよくあります。これは通信がパソコンの外に出ないため、暗号化の必要性が薄いからです。ただし、外部に公開するときは HTTPS にするのが前提になります。

よくある勘違い

「HTTPS だから安全なサイト」と考えてしまうのは、ちょっと危うい理解です。HTTPS が保証しているのは 通信の途中経路の安全であって、そのサイトの運営者が善良かどうかまでは保証しません。詐欺サイトでも HTTPS を使うことはできます。

もう一つ、暗号化されるのは中身であって、「どのサイトに接続したか」という事実まで完全に隠せるわけではありません。封筒の例で言えば、宛先ラベルはある程度見えている、というイメージです。

覚えておくとよいこと

結局のところ、日常的に意識すべきは「パスワードや個人情報を入力する画面で、鍵マークが出ているか」くらいです。開発する側に回ったときは「外部に出す通信は HTTPS が当たり前」という前提を持っておけば、ほとんどの場面で困りません。

このページは役に立ちましたか?