2016/03/11

「http」と「https」の違いとは? 最後の「s」はあなたを守る魔法の言葉だった

URLの先頭の言葉はブラウザへの命令

たとえば、この「TIME & SPACE」のホームページのURLはこんなふうだ。

/index.html

これは、「kddi.comというインターネット上の住所にある、time-spaceという名前のサーバーから、index.htmlというハイパーテキストを持ってきて、私のブラウザに表示してください」という意味だ。この命令を受けたブラウザが指示されたサーバーに行ってファイルを受け取り、この「TIME & SPACE」のホームページを表示しているというわけだ。

TIME & SPACEのホームページのURL

「http」は、この命令文のうち、「ハイパーテキストを持ってきて、私のブラウザに表示してください」にあたる命令のこと。「http」は「Hyper Text Transfer Protocol」の略で、無理やり日本語にすれば「ハイパーテキスト移動手続き」となる。

「ハイパーテキスト」とは、文字通り「文書を超えたもの」で、ブラウザが表示してくれるコンテンツのこと。「Protocol(プロトコル)」とは「手続き」や「ルール」という意味だ。

この「http」はブラウザへの命令なので、「http」を別の命令の言葉に変えるとブラウザは違うことをする。たとえば、「ftp」はファイルを転送しなさいということで、「local」はハードディスクの中のファイルを表示しなさいということ。また、「mailto」はメールソフトを立ち上げて新規メールを書く準備をしなさいという意味だ。

実験してみよう。ブラウザのURLが表示されている欄に、「mailto:xxxxx@xxx.xxx」のように「maito:」のあとに自分のメールアドレスを書いてリターンキーを押してみる。するとメールソフトが立ち上がって、自分宛に用意された新規メール画面が表示されるはずだ。
では、「https」とは、どんな命令なのだろうか。それは暗号と安全に関係する命令だ。

データに鍵をかけて守れという命令が「https」

「https」は「Hyper Text Transfer Protocol Secure」の略だ(「Hyper Text Transfer Protocol over SSL/TLS」の略という説もある)。「Secure(セキュア)」とは「鍵がしっかり掛かって安全だ」という意味。つまり、この命令とは「http」にプラスして「鍵をしっかりかけて安全に」と注文していることになる。

さらに言えば、SSL/TLSという暗号を使ってやり取りしてくださいという命令であり、相手のサーバーがSSL/TLSに対応しているということでもある。「https」の命令でやり取りされれば、個人情報などのデータは暗号化されるので、セキュリティレベルが高い。

httpとhttpsの違い

実際、クレジットカード情報など大切な個人データを扱うサイト、たとえば、お買い物サイトやオンラインバンキング、SNSなどはほとんどが「https」になっているので、確かめてみよう。Chromeなど多くのブラウザでは、サイトによって「https」で接続中は鍵のマークが表示されることもある。「https」という謎の言葉も、知ってみると、私たちの情報のやり取りを守ってくれる大事なガードマンのような存在だったわけだ。

httpsのURL

文:太田 穣