HTTPとHTTPSの違いとは?なぜHTTPSが必要なのかを初心者向けに解説
Webサイトを見ていると、URLの最初が「http://」になっているサイトと「https://」になっているサイトがあります。
見た目は「s」が付いているだけですが、通信の安全性には大きな違いがあります。
現在のWebサイトではHTTPSが一般的になっており、個人ブログや企業サイトでもHTTPSによる通信が使われています。
HTTPとは?
HTTPは「HyperText Transfer Protocol」の略で、WebブラウザとWebサーバーの間でデータをやり取りするための通信ルールです。
たとえば、ブラウザでWebページを開くと、ブラウザはWebサーバーにページのデータを要求します。
サーバーからHTMLや画像などのデータが返されることで、画面にWebページが表示されます。
このようなWeb通信の基本的なルールとして使われているのがHTTPです。
HTTPの問題点は通信内容が保護されないこと
HTTPの大きな問題は、通信内容が暗号化されていないことです。
そのため、通信経路上で第三者にデータを見られたり、内容を改ざんされたりするリスクがあります。
特に、ログイン情報や個人情報などを送信するWebサイトでは、通信をそのまま扱うことは望ましくありません。
HTTPSとは?
HTTPSは「HyperText Transfer Protocol Secure」の略です。
簡単に言えば、HTTPによるWeb通信をTLSで保護したものと考えると分かりやすいでしょう。
HTTPSでは、ブラウザとWebサーバーの間でやり取りされる通信を暗号化します。
そのため、HTTPと比べて通信内容を第三者から読み取られたり、途中で改ざんされたりするリスクを抑えられます。
SSLという言葉もよく使われますが、現在のWeb通信では後継となるTLSが使われています。
SSL・TLSそのものの仕組みについては、別の記事で詳しく整理しています。
HTTPとHTTPSの違い
HTTPとHTTPSの大きな違いは、通信が保護されているかどうかです。
| 項目 | HTTP | HTTPS |
|---|---|---|
| 通信 | HTTP | HTTP+TLS |
| 通信の暗号化 | なし | あり |
| URL | http:// | https:// |
| 一般的なポート | 80 | 443 |
| 通信の安全性 | 低い | HTTPより高い |
| 現在のWebサイト | 少なくなっている | 一般的 |
HTTPSではTLSを利用して通信を保護するため、HTTPより安全にWebサイトを利用できます。
HTTPSでは何が変わる?
HTTPSにすると、単にURLに「s」が追加されるだけではありません。
Webブラウザとサーバーの間で行われる通信がTLSによって保護されるようになります。
たとえば、Webサイトでログインしたり、問い合わせフォームから情報を送信したりするときに、通信内容が暗号化されます。
1.通信内容を読み取られにくくなる
HTTPSでは通信が暗号化されるため、第三者が通信を傍受しても、その内容をそのまま読み取ることが難しくなります。
カフェやホテルなどのWi-Fiを利用するときも、Web通信を保護する仕組みとしてHTTPSは重要です。
2.通信内容の改ざんを検知しやすくなる
HTTPSでは、通信途中でデータが書き換えられていないか確認するための仕組みも使われています。
これにより、通信内容が途中で改ざんされるリスクを抑えられます。
3.接続先の確認にも役立つ
HTTPSでは、Webサーバーが正しいドメインの証明書を持っているかをブラウザが確認します。
この仕組みによって、利用者が意図したWebサイトとの通信であることを確認する手助けになります。
ただし、HTTPSだからといって、そのWebサイト自体が安全とは限りません。
悪意のあるサイトでもHTTPSを利用できます。
HTTPSは「通信を保護する仕組み」であり、「サイトの内容を保証する仕組み」ではない点には注意が必要です。
HTTPのポート80、HTTPSのポート443とは?
HTTPとHTTPSを理解するとき、「80番ポート」「443番ポート」という言葉が出てくることがあります。
HTTPでは一般的に80番ポート、HTTPSでは一般的に443番ポートが使われます。
ポートは、サーバー上でどの通信を受け付けるのかを区別するための入口のようなものです。
たとえば、
- HTTP → 80番ポート
- HTTPS → 443番ポート
という関係になります。
ただし、これはあくまで標準的な設定です。サーバーの構成によって別のポート番号を利用することもあります。
サーバーのポートについて詳しく知りたい場合は、SSHやファイアウォールの記事と合わせて確認すると理解しやすくなります。
なぜ現在はHTTPSが一般的なの?
現在のWebサイトでは、HTTPSが基本的な通信方式として使われています。
その理由の一つが、Webサイトで扱う情報が以前より増えていることです。
検索やニュースを見るだけでなく、現在はログイン、ネットショッピング、問い合わせ、オンライン決済など、さまざまな場面でWebサイトに情報を入力します。
こうした情報を安全に送受信するためにも、通信を暗号化するHTTPSが重要になっています。
また、Webサイトを運営する側にとっても、HTTPSは現在の基本的な環境の一つです。
HTTPサイトにアクセスするとどうなる?
ブラウザによって表示は異なりますが、HTTPSではないHTTPサイトにアクセスすると「保護されていない通信」などの警告が表示される場合があります。
特に、ログイン情報や個人情報などを入力するページでは注意が必要です。
Webサイト側がHTTPからHTTPSへ移行している場合は、HTTPのアクセスをHTTPSへ自動的に移動させる「リダイレクト」が設定されることもあります。
たとえば、
http://example.com
へアクセスしたときに、
へ自動的に移動する仕組みです。
このような設定によって、利用者がHTTPSのページを利用しやすくなります。
HTTPSにするには何が必要?
WebサイトをHTTPSにするには、サーバー側でTLSによる通信を設定する必要があります。
その際に使われるのがSSL/TLS証明書です。
証明書をWebサーバーに設定すると、ブラウザとサーバーの間でHTTPS通信を利用できるようになります。
現在は無料で利用できる証明書もあり、個人ブログなどでもHTTPS化は珍しくありません。
ただし、サーバーやレンタルサーバーによって設定方法は異なります。
WordPressなどを運営している場合も、利用しているサーバーのHTTPS設定を確認しておくと安心です。
HTTPSなら絶対に安全というわけではない
ここは初心者が特に勘違いしやすいポイントです。
HTTPSは通信を保護するための重要な仕組みですが、Webサイトそのものの安全性を保証するものではありません。
たとえば、HTTPSを使っているフィッシングサイトも存在します。
そのため、HTTPSかどうかだけで判断するのではなく、
- URLのドメイン名が正しいか
- 不自然なページではないか
- 個人情報を要求されていないか
- メールやSNSから誘導されたサイトではないか
なども確認することが大切です。
HTTPSは「安全なサイトを見分けるためのマーク」ではなく、ブラウザとサーバーの間の通信を保護する仕組みと考えると分かりやすいでしょう。
HTTPとHTTPSの違いを簡単に覚えるなら
初心者の場合、まず次の3点を覚えておけば十分です。
HTTP
→ Web通信の基本的なルール
HTTPS
→ HTTPの通信をTLSで保護したもの
ポート番号
→ HTTPは80、HTTPSは443が一般的
そして、HTTPSの「S」は「Secure」を表しています。
WebサイトのURLを見るときに「https://」から始まっているかを確認する習慣をつけると、HTTPSの役割も理解しやすくなります。
まとめ
HTTPとHTTPSは、どちらもWebブラウザとWebサーバーが通信するときに使われます。
大きな違いは、HTTPSではTLSによって通信が保護されることです。
HTTPは通信内容が暗号化されないため、現在のWebサイトではHTTPSが一般的に利用されています。
覚えておきたいポイントは次のとおりです。
- HTTPはWeb通信に使われる基本的なプロトコル
- HTTPSはHTTPをTLSで保護した通信
- HTTPは80番ポート、HTTPSは443番ポートが一般的
- HTTPSでは通信内容の盗聴や改ざんのリスクを抑えられる
- HTTPSだからといってWebサイト自体が安全とは限らない
「SSL・TLSとは何なのか」まで理解すると、HTTPSの仕組みもさらに分かりやすくなります。
HTTPSとHTTPは何が違いますか?
HTTPSはHTTPの通信をTLSで保護したものです。HTTPと比べて通信内容を暗号化できるため、現在のWebサイトではHTTPSが一般的に利用されています。
HTTPSなら安全なサイトですか?
HTTPSは通信を保護する仕組みであり、Webサイトそのものの安全性を保証するものではありません。URLやドメイン名、サイトの内容なども確認することが大切です。
HTTPの80番ポートとHTTPSの443番ポートは何ですか?
Webサーバーが通信を受け付けるためのポート番号です。HTTPでは80番、HTTPSでは443番が標準的に使われています。
SSLとHTTPSは同じ意味ですか?
同じものではありません。HTTPSはWeb通信の方式で、SSL/TLSは通信を暗号化・保護するための技術です。現在はSSLの後継であるTLSが使われています。
