今回は、HTTP通信とHTTPS通信について勉強していきたいと思います。日々の生活でもよく目にするこの二つですが(最近はhttpsのほうが多く見るかもしれません)、いまいちピンときていなかったので、勉強します。
1. http通信とは?
概要
まずhttpとは、Hyper Text Transfer Protocol(ハイパー テキスト トランスファー プロトコル)の頭文字をとったもので、ブラウザがWebサーバと通信するときに使うプロトコルです。
通信のイメージ
例えば、プー子’s blog(架空サイト)にアクセスしたいとします。ブラウザのURLにhttp://pooko.net/と入力して検索ボタンを押すと、下の図のようにWebサーバにリクエストが届きます。
※DNSサーバでの名前解決やプロキシサーバ経由のアクセスは省略しています。
ブラウザから送られているリクエストは、暗号化されず、そのまま送られます。Webブラウザは受け取ったリクエストを読み取ります。そのため、下の図のように悪意のある人たちによって大事な情報を盗聴される恐れが大きくなります。
2. https通信とは?
概要
まずhttpとは、Hypertext Transfer Protocol over SSL/TLS(ハイパー テキスト トランスファー プロトコル オーバー SSL/TLS)の頭文字をとったもので、こちらもブラウザがWebサーバと通信するときに使うプロトコルです。
over SSL/TLSと書いてあるくらいなので、ざっくり言うとHTTP通信のデータを暗号化したバージョンのプロトコルです。(SSL/TLSとはインターネットでデータを暗号化する仕組みです。)
通信のイメージ
こちらも先ほど同様の例を使いますが、プー子’s blog(架空サイト)にアクセスしたいとします。ブラウザのURLにhttps://pooko.net/と入力して検索ボタンを押すと、下の図のようにWebサーバにリクエストが届きます。
※DNSサーバでの名前解決やプロキシサーバ経由のアクセスは省略しています。
ブラウザから送られているリクエストは、暗号化され送られます。省略してばっかりで申し訳ありませんが、Webブラウザは安全な方法で鍵をブラウザから受け取り、暗号化されたリクエストを複合して読み取ります。そのため、HTTP通信と比べて、悪意のある人たちがいても、情報を盗聴されることは少なくなります。(ただしゼロではないので注意します。)
まとめ
今回は超ざっくりHTTP通信とHTTPS通信について勉強していきました。この二つの通信の違いはデータが暗号化されるかされないかだと思います。それに乗じて、HTTPS通信はHTTPと比べてセキュアであると言えます。簡単なように見えますが、プロキシサーバなどを介すと少し複雑化していますので、CONNECTメソッドも含め理解を深め、記事にもしたいと思います。
ここまでお読みいただきありがとうございました!
コメント