より正確には、HTTPおよびHTTPSは、ワールドワイドウェブ(www)上でハイパーテキスト文書を転送するために使用される。
これらのプロトコルはかなり簡単で、クライアント(通常はブラウザ)がサーバーへのTCP接続(HTTPまたはHTTPS)を設定し、ASCII文字列の形式で要求を送信して応答を待ちます。 応答はASCII文字列としてフォーマットされることもよくありますが、他の多くのデータフォーマットをサーバーから返すこともできます(たとえば、画像はバイナリデータとして送信されます)。
HTTPプロトコルを使用している場合は、データと情報の転送がプレーンテキストで行われるため、セキュリティが侵害されやすくなります。 しかし、HTTPSプロトコルを使用している間、送信されるデータと情報は暗号化された形式であるため、セキュリティを侵害するのは困難です。 クライアントが機密性の高い機密データを転送している場合は、HTTPSプロトコルを強くお勧めします。
比較表
比較基準 | HTTP | HTTPS |
---|---|---|
使用されるプレフィックス | URLは "//"で始まります | URLは "//"で始まります |
セキュリティ | 安全ではありません。 | 安全です。 |
実施された | アプリケーション層 | トランスポート層 |
暗号化 | 暗号化はありません | 暗号化が使用されます。 |
証明書 | 必須ではありません。 | 必要 |
使用ポート | 通信にはポート番号80が使用されます。 | ポート番号443は通信に使用されます。 |
特徴 | 中間者攻撃および盗聴攻撃を受ける可能性があります。 | 中間者攻撃や盗聴攻撃に耐えるように設計されており、そのような攻撃に対して安全であると見なされています。 |
例 | インターネットフォーラム、教育サイトなどのWebサイト。 | 銀行ウェブサイト、支払いゲートウェイ、ショッピングウェブサイトなどのウェブサイト |
HTTPの定義
HTTP(Hypertext Transfer Protocol)はWebのデータ通信の基盤です。これは、Webページの配信に関してインターネットがどのように機能するかを示しています。 これはTCP / IPベースのプロトコルであり、テキスト、オーディオ、ビデオ、画像などを転送することができます。
HTTPは、クライアントがWebページを要求する要求と応答のサイクルで機能します。 google.comにアクセスした場合、サーバーにWebページを要求しているとします。サーバーから応答があります。
HTTPはステートレスプロトコルです 。つまり、HTTPを介して行われたトランザクションはすべて独立しているということです。 ただし、これはHTTP Cookie、サーバー側セッション、変数、URLの書き換えを使用して配信できます。
クライアントがWebサイトを閲覧しようとしたときに最初に起こることは、リクエストがHTTPメッセージとして知られるサーバーに送信されることです。 その後、サーバーは応答を準備してそれを送り返します。 メッセージはメッセージの応答と要求によって異なります。
HTTPメッセージを要求する
HTTPメッセージを要求する
- 開始行には、メソッド、URI、およびHTTPのバージョンが含まれています。
- 方法 :サーバーが何をすべきかを知るために、サーバーに与えられるコマンドのようなものです。 たとえば 、GET、POST、HEAD、
PUT、DELETEなど - URI :Uniform Resource Identifierは、読み取り可能な文字のセットとリソースを見つけるための方法です。
- HTTPバージョン :クライアントが使用しているHTTPのバージョンを指定します。
- 方法 :サーバーが何をすべきかを知るために、サーバーに与えられるコマンドのようなものです。 たとえば 、GET、POST、HEAD、
- ヘッダーには 、次のような情報提供規則があります。
- ホスト :リクエストを送信しているサーバーのアドレスを指定します。
- 承諾 :要求しているファイルの種類を指定します。
- 言語を受け入れる : 言語を指定します。
- リクエストに本文は含まれていません。
応答HTTPメッセージ
応答HTTPメッセージ
- 開始行 :要求でのみ使用されるため、開始行にメソッドはありません。 応答では、HTTPのバージョンとステータスコードがあります。
- HTTPバージョン :クライアントが使用しているHTTPのバージョンを指定します。
- ステータスコード :リクエストが成功したか失敗したかをクライアントに知らせます。 たとえば 、404ページが見つかりません、200 - OKなど
- ヘッダはリクエストと同じ情報を含みます。
- ホスト :リクエストが送信されるサーバーのアドレスを指定します。
- 承諾 :要求されたファイルタイプを指定します。
- 言語を受け入れる : 言語を指定します。
- ボディは私たちが探していたファイルを保持します。
HTTPの主な問題は、 暗号化されていないこととプレーンテキストが使用されていることです。つまり、コンピュータとサーバー間でデータを転送する際にセキュリティが保護されません 。 誰かがHTTP接続を実行して自分自身を中央に置き、プレーンテキストで名前、電子メール、パスワードの使用を開始できる場合、中間者攻撃を悪用するのが一般的です。
HTTPSの定義
HTTPS(Hypertext Transfer Protocol Secure)は、HTTPSの「S」であるSSL(Secure Socket Layer)と連携して動作するHTTPに他なりません。 SSLは、データがインターネット上で安全に送信されるようにします。 HTTPSに付けられた代替名は、TLSを介したHTTP、SSLを介したHTTP、およびHTTPセキュアです。
このプロトコルは、Webサイトと通信して機密データを送信するときに、インターネット上で主に増加するように設計されています。 データ送信がもはや平文ではなくなったため、これは中間者攻撃をますます困難にしました。
あなたのウェブサイトを保護するためにはSSL証明書と呼ばれるものを購入する必要があります 。 これらは比較的高価であり、ほとんどのホスティング会社がそれらを提供しています。 SSL証明書はオンラインIDカードに似ています。 SSL証明書は、httpsプロトコルを通過するデータも暗号化します。
現在、クライアントはサーバーにデータを要求し、SSL証明書を探します。これにより、証明書を使用してWebサイトの身元を確認できます。 すべてが問題なければ、SSLを介して暗号化方式が決定されるところでハンドシェイクが行われます。
HTTPとHTTPSの主な違い
以下のポイントは、HTTPとHTTPSの違いをカバーしています。
- セキュリティについて話すと、HTTPにはセキュリティ上の問題がありますが、HTTPSにはセキュリティ保護があります。
- ハイパーテキスト転送プロトコルはアプリケーション層で動作します。 それどころか、ハイパーテキスト転送プロトコルセキュアはトランスポート層で機能する。
- HTTPSでは、Webサイトの身元を確認するための証明書が必要です。 反対に、HTTPでは証明書は必要ありません。
- HTTPでは暗号化は使用されていません。 一方、HTTPSでは暗号化と復号化の両方が使用されます。
- 通信目的で、ポート番号80はHTTPで使用され、HTTPSはポート番号443を使用します。
- HTTPは中間者攻撃や盗聴攻撃を受けやすいが、HTTPSはそのような攻撃に耐えるように設計されている。
例:
HTTPは、インターネットフォーラム、教育サイトなどのほとんどのWebサイトで使用される可能性があります。 これらは公開討論フォーラムであるため、安全なアクセスは必要ありません。 例えば//www.ndtv.com
HTTPSは、銀行のWebサイト、支払いゲートウェイ、ショッピングのWebサイト、ログインページ、Eメール、およびコーポレートセクターのWebサイトで使用する必要があります。 例えば//paytm.com/です。
結論:
HTTPとHTTPSはどちらもハイパーテキスト文書転送プロトコルですが、HTTPSは機密データ、情報、およびファイルをクライアントからサーバーへ、およびその逆にインターネット上で転送するための安全な方法を提供します。