セキュリティ

httpとhttpsの違いとは?初心者向けにエンジニアが解説

[adchord]

Webサイトを開く際のURLは、「http://」で始まるものもあれば、「https://」で始まるものもあります。

httpもhttpsも通信のための規約(プロトコル)を表していますが、この両者の間にはどのような違いがあるのでしょうか。

わかるようでわからないhttpとhttpsの違いについて紹介します。

httpとhttpsのそれぞれの意味

意味

httpとhttpsについて、それぞれの意味をまず確認してみましょう。

http

httpは「Hyper Text Transfer Protocol」の略です。

httpは、文字や画像、動画などをサーバとクライアントの間で通信するときの規約(プロトコル)だと言うことができます。

主には80番のポートを使ってやりとりを行っています。

プロトコルが規定しているのは、通信データをダウンロードする手順や、そのデータの整合性を確かめるための仕組みなどです。

パソコンのOSの種類が異なっていた場合に、データをやり取りするための仕組みまで異なっていては情報の共有ややり取りが上手く進められません。

httpのようなプロトコルがあることによって、インターネットを利用するための環境に違いがあってもデータのやり取りや表示などに関しては問題が無いようになっているのです。

https

httpsはhttpの最後に「s」がついていますが、これは「Secure」の略で「安全な」という意味です。

httpsではSSL(Secure Socket Layer)やTLS(Transport Layer Security)というプロトコルを使っています。

これらのプロトコルには、通信内容を送信時に暗号化し、受信側で復号化する(暗号を読み解く)方法などが定められており、盗聴などの対策手段の一つとなります。

httpsではプロトコルを利用する際に、サーバー側に電子証明書が必要となり、それが本人であることを確認する証拠となります。

httpsは、httpに比べて「盗聴が難しい」「相手が本物である」ことを確認することができるようになっているため、通信が正確で安全に行えるという利点があるのです。

ただし、その半面送受信するデータ量が少々重くなり、処理に時間がかかるデメリットがあります。

httpとhttpsはこのように違う

https

httpとhttpsの違いについて簡単に紹介します。

暗号化の有無

httpもhttpsも主にはインターネットを使って情報をやり取りする際に使われるプロトコルですが、最大の違いは暗号化処理の有無にあります。

httpは暗号化されないのに対し、httpsは暗号化が行われています。

暗号化・復号化のためのパケットが必要になるため、httpsの方が送受信するデータ量が多くなり、またパソコンやサーバーでの処理量が増えます。

通信ポートが違う

httpとhttpsは通信ポートに違いがあります。

変更することは可能ですが、通常、httpは80番のポート、httpsは443番が使われることが多いです。

ポートはサーバーにデータが入ってくる経路であり、不審なパケット(データの塊)の検知やブロックに重要です。

相手の確認ができるか否か

httpでは、通信を行っている相手が誰であるかを判断することはできません。

httpsでは、電子証明書により、相手が本当に通信をしようとしている相手かを確認することができるようになっています。

電子証明書は発行に際して個人や組織の情報を登録する必要があるため、身元を偽ることができません。

検索結果の違い

現在は、偽物のWebサイトへ誘導する詐欺の手口が増加していることもあり、Webサイトが本物であることが確認できることを検索エンジンも重要視しています。

そのため、電子証明書が必要なhttpsで作られたサイトの方が検索結果として上位に出やすくなっています。

httpとhttpsの使い分け方

使い分け

httpとhttpsがどのように使われているか紹介します。

情報の内容によって使い分ける方法

Webサイトによっては、申込みフォームや問い合わせのように、個人の情報などのデータを入力して送信するページでhttpsを利用しているものがあります。

通信を安全に行う目的で昔から取られている方法ですが、現在はサイト全体をhttpsで利用できるように構築することがスタンダードになっています。

ただし、データ量が大きくなり電子証明書も必要となるため、検索でヒットすることを重視しない仲間内の情報共有サイトなどではhttpで作られることも多いです。

リダイレクト(転送)の条件として使う方法

httpsを標準として使う動きがあるとは言え、基本的にhttpsで接続できるサイトはhttpでも接続することは可能です。

逆にhttpで接続できるサイトでも、httpsで接続しようとするとサーバー証明書などが無い場合には不審なサイトとして警告が出るようになっています。

そのため、リダイレクトを行う条件としてhttpから始まるURLを指定しておくとインターネットを利用する多くのケースに対応することができます。

フリーWi-Fiでは利用のためのページへ転送する仕組みとしてhttpから始まるURLの入力が使われるケースが多いです。

正しい相手か確認する

身に覚えのない相手からメールなどが届き、特定のURLに誘導された場合は必ずhttpsになっているか確認しましょう。

大事な情報を扱うサイトは基本的にhttpsを利用しています。

また、URLを確認するだけでなく、電子証明書の内容も確認してください。

偽物のサイトがhttpsでの通信を行っている場合、そのサイトに表示されている企業や団体の名称と証明書の内容が異なっていることがあります。

セキュリティ保護のため

httpは通常、利用するポートが決まっているため、悪意のあるハッカーはそのポートで行われる通信に対して情報収集を行います。

httpsでは利用するポートが違うため、ハッカーの攻撃を受ける可能性が低くなります。

より安全にしたい場合、利用するポート番号を変える場合もあります。

httpsは攻撃を受けた場合にも強いですが、攻撃をされないためにも効果的です。

ただし、利用するアプリによってはポートの変更によって不具合が生じることもあるので注意しましょう。

httpとhttpsの違いについてのまとめ

まとめ

httpとhttpsは、インターネット上で通信を行うための規約です。

基本的にhttpsを利用することが推奨されていますが、日本ではまだ実装率が低くなっています。

電子証明書の取得は有料になりますが、無料で実装できる「Let’s Encript」のようなサービスも出てきているので上手く活用しましょう。

それぞれの意味や使い方を正しく理解することで、インターネットだけでなくhttpやhttpsを利用したサービスをより良く活用することができるようになります。