httpとhttpsの違い、知ってる?

httpとhttpsの違い、知ってる?

こんにちは、すなです。

今回は僕たちがパソコンを使うときによく見る「http」と「https」にどんな違いがあるのか、気になったので調べました。

ブラウザとは

皆さんはインターネットを使う時、普段SafariやGoogle Chromeを使うと思います。

この様なソフトウェアのことを「ブラウザ」といいます。

他にもMicrosoft Edge(かつてのInternet Explorer)やFirefoxなどが有名なブラウザの1つです。

HyperText Transfer Protocol

ユーザーがブラウザで情報を調べるとき、ブラウザはサーバーにアクセスします(ホームページの情報はサーバーに保管されていて、ブラウザはそこからデータを逐一取得します)。

このときの通信方法をHTTPと言います。

httpは「HyperText Transfer Protocol」の略で、直訳すると「ハイパーテキストを転送する規約」という意味になります。

HyperTextとは何か

ハイパーテキストとは、とあるWebサイトを訪問したとしてそのページ内の「商品一覧」をクリックすると新しいページに遷移します。

かつての紙媒体で同じことをやろうとすると、例えば「商品一覧(p.40)」と書かれていたとすると、40ページまで紙を捲らないといけません。

「他のページから他のページに飛べるのがハイパーじゃね?」ということで、ネット上のページを単なるテキストではなく、「ハイパーテキスト」と呼びます。

共通の通信手順

httpはこれら「HyperTextなファイルを転送するのに用いる通信手順」のことを指します。

要するに皆んながバラバラな方法でサーバーと通信してたら収拾がつかないので、「httpという方法で通信しよう」というインターネット上での約束(=規約)がhttpです。

httpsで暗号化する

httpsはhttpとできることは大きく違いませんが1つ異なる点が、httpsにはSSL(≒TLS)という手順が追加で用いられています。

httpはブラウザがサーバと通信する時に、生のデータでやり取りします。

分かりやすく説明すると、通信するときの信号に通信内容をそのまま記述してやりとりします。

つまり悪意のある第三者によってその通信を「盗聴」されると、その内容が簡単に解読されてしまいます。

しかしhttpと違い、httpsは通信内容が暗号化されます。

つまりhttpsの通信を第三者が傍受したとしても、通信内容が暗号化されているて、その暗号を解読するのには膨大な時間と労力がかかるので、現実的には不可能に近いです。

他にもhttpだと通信に介入して通信内容を改ざんして送信されるなど、暗号化されないことによって不都合なことが多く生じます。

それらを阻止するためにSSL(≒TLS)を用いて通信を暗号化しています。

httpsの見つけ方

実際にhttpsで通信が暗号化されているサイトは、ブラウザが「鍵のマーク」だったり、「保護された通信」と表記したりします。

一方でhttp通信のときは「!」マークだったり、「保護されていない通信」と表記されます。

このように分かりやすくなっています。

いかがだったしょうか。

今回は、

  • ブラウザとサーバーの通信について
  • HyperTextが何か
  • httpとhttpsについて
  • httpsのサイトの見分け方

をざっくりと解説しましたが、理解していただけたでしょうか。

httpsのサイトはブラウザにそのサインが表示されるので、これを知っていればどのサイトがより安全で、どのサイトがより安全でないか、一目で分かりますね。

皆さんも是非、身近に潜んでいる疑問をたまには深掘りしてみてはいかがでしょうか。

では、また別の記事でお会いしましょう。