セキュリティテスト-HTTPプロトコルの基本

プロトコルを理解することは、セキュリティテストをよく理解するために非常に重要です。Webサーバーとクライアントの間でパケットデータを傍受するときに、プロトコルの重要性を理解することができます。

HTTPプロトコル

ハイパーテキスト転送プロトコル(HTTP)は、分散型の協調型ハイパーメディア情報システム向けのアプリケーションレベルのプロトコルです。これは、1990年以来のワールドワイドウェブのデータ通信の基盤です。HTTPは、要求メソッド、エラーコード、およびヘッダーの拡張を使用して、他の目的にも使用できる汎用のステートレスプロトコルです。

基本的に、HTTPはTCP / IPベースの通信プロトコルであり、HTMLファイル、画像ファイル、クエリ結果などのデータをWeb経由で配信するために使用されます。これは、コンピューターが相互に通信するための標準化された方法を提供します。HTTP仕様は、クライアントの要求されたデータがサーバーに送信される方法、およびサーバーがこれらの要求に応答する方法を指定します。

基本的な機能

HTTPをシンプルで強力なプロトコルにする次の3つの基本機能があります-

  • HTTP is connectionless− HTTPクライアント、つまりブラウザがHTTP要求を開始します。要求を行った後、クライアントはサーバーから切断し、応答を待ちます。サーバーは要求を処理し、クライアントとの接続を再確立して応答を送り返します。

  • HTTP is media independent−クライアントとサーバーの両方がデータコンテンツの処理方法を知っている限り、あらゆるタイプのデータをHTTPで送信できます。これは、クライアントとサーバーが適切なMIMEタイプを使用してコンテンツタイプを指定するために必要です。

  • HTTP is stateless− HTTPはコネクションレス型であり、これはHTTPがステートレスプロトコルであるという直接的な結果です。サーバーとクライアントは、現在の要求の間のみお互いを認識します。その後、二人はお互いを忘れます。プロトコルのこの性質により、クライアントもブラウザも、Webページ全体の異なる要求間で情報を保持できません。

HTTP / 1.0は、要求/応答交換ごとに新しい接続を使用しますが、HTTP / 1.1接続は、1つ以上の要求/応答交換に使用できます。

建築

次の図は、Webアプリケーションの非常に基本的なアーキテクチャを示し、HTTPが存在する場所を示しています。

HTTPプロトコルは、Webブラウザ、ロボット、検索エンジンなどがHTTPクライアントとして機能し、Webサーバーがサーバーとして機能するクライアント/サーバーアーキテクチャに基づく要求/応答プロトコルです。

  • Client − HTTPクライアントは、要求メソッド、URI、およびプロトコルバージョンの形式でサーバーに要求を送信し、その後、TCP / IP接続を介して、要求修飾子、クライアント情報、および可能な本文コンテンツを含むMIMEのようなメッセージを送信します。

  • Server − HTTPサーバーは、メッセージのプロトコルバージョンと成功またはエラーコードを含むステータス行で応答し、その後にサーバー情報、エンティティメタ情報、および可能なエンティティ本体コンテンツを含むMIMEのようなメッセージが続きます。

HTTP –デメリット

  • HTTPは完全に保護されたプロトコルではありません。

  • HTTPは、通信のデフォルトポートとしてポート80を使用します。

  • HTTPはアプリケーション層で動作します。データ転送のために複数の接続を作成する必要があるため、管理のオーバーヘッドが増加します。

  • HTTPを使用するために暗号化/デジタル証明書は必要ありません。

Httpプロトコルの詳細

HTTPプロトコルを詳細に理解するには、以下のリンクのそれぞれをクリックしてください。

  • HTTP Parameters

  • HTTP Messages

  • HTTP Requests

  • HTTP Responses

  • HTTP Methods

  • HTTP Status Codes

  • HTTP Header Fields

  • HTTP Security