• ―IT

    【図解あり】HTTPとは?HTTPSとの違いは何なのか?

    PCのサムネイル画像
    SPのサムネイル画像
    IT
    1. はじめに
    2. HTTPとは
    3. HTTPとHTTPSの違い
    4. まとめ
    5. 参考文献

    はじめに

    こちらの記事ではHTTPとは何?HTTPS?URLの事でしょ?といったあまり深く理解していない方に分かりやすいようにまとめてみました。 下記に当てはまる方が対象になるかと思いますので当てはまる方は是非ご覧ください。

    • HTTPについてあまり深く理解していない方
    • Web制作の業務経験が少ない方
    • ブラウザとサーバーのやり取りを知りたい方

    HTTPとは

    そもそもHTTPとはブラウザがサーバーと通信する際に使用している通信規格(プロトコル)です。なのでHTTPで通信を行うことで画像やhtml、css、js等のリソースをサーバーに要求してブラウザ上に表示することができます。

    HTTPの説明画像

    HTTPメッセージ

    HTTP通信ではブラウザとサーバー上で「HTTPメッセージ」という決められた形式でやり取りを行っています。 詳細は長くなりますのでこちらの記事では説明しませんが「HTTPメッセージ」には「HTTPリクエスト」と「HTTPレスポンス」があります。 簡単に説明するとURLを入力することでサーバーにそのURLへのアクセスを要求しているかと思いますがその際にサーバーにURLの情報をくださいといった「HTTPリクエスト」を送信してそのURLのページを読み取りその中で記述されている画像、CSS、JS等も要求していきます。 その後、サーバーからその要求にたいしての返答がかえってきます。それが「HTTPレスポンス」です。「HTTPレスポンス」では読み込みができたかどうか等の返答がかえってきます。

    HTTPメッセージの説明画像

    Cookieについて

    HTTPは文書のやり取りをする為に開発されたプロトコルであり、ブラウザとサーバー間の状態の維持は不要だったのですがWebアプリケーションの普及によってユーザーがブラウザとサーバー間の状態の維持を求めるようになりサーバーとやり取りした情報を保存する仕組みとして「Cookie」が開発されました。 具体的にはamazon等にログインして閉じた後、再度amazonを開いた際にログイン状態になっているといったことがあるかと思います。ログイン情報が「Cookie」に保存されていることでログイン状態の維持が可能になっています。

    cookieの説明画像

    HTTPとHTTPSの違い

    まずHTTPSとは、HTTPと同じようにブラウザとサーバーを通信させるプロトコル(仕組み)のことですが、HTTPSとHTTPの違いは、通信がTLSによって暗号化されているか否かです。

    通信データの安全性

    なぜHTTPSが生まれたのかということですが元々HTTPは文書のやり取りをするために開発されたプロトコルなのでセキュリティについては考慮されていませんでした。ですが、昨今のWebサイトでは様々なデータを取り扱うようになった為セキュリティを考慮したHTTPSが開発されました。 実際にHTTPでどういった部分にセキュリティの弱点があるかですが大きく3つあります。 下記弱点を解決するのがHTTPSです。

    • 通信データの暗号化ができないので盗聴することが可能
    • 通信先のサーバーが本物であることの証明ができないのでなりすまされる可能性がある
    • 通信内容が正しいか検証できない為通信途中で改ざんされる可能性がある
    通信データの安全性についての説明画像

    Mixed Contentの解消

    自身のサイトがHTTPS化していても読み込んでいるリソース(CSS,JS)等がHTTPSでない場合データは暗号化されていないので通信途中で悪意のある記述に改ざんされる可能性があります。 このようにHTTPSのサイト内にHTTPのリソースが混在することを「Mixed Content」と言います。 攻撃される可能性を考慮してすでにGoogle ChromeやFirefox,Safariなどの主要ブラウザでは別サイトでHTTPSではないサイトのリソースの読み込みをブロックしていますのでHTTPで配信されているリソースを読み込む際は注意が必要です。

    Mixed Contentの説明画像

    まとめ

    HTTPとHTTPSの事を学んでみてWebの進化をとても感じることができますね。 今回の記事ではHTTPSにする方法は紹介していませんがHTTPSであることが当たり前の時代になってきていますし、この記事で紹介した危険性もありますのでまだHTTPSにしていない方にはHTTPSにすることをお勧め致します。

    参考文献

    RECOMMEND

    【Web開発者必読】同一オリジンポリシー(SOP)について

    【Web開発者必読】同一オリジンポリシー(SOP)について