セキュリティテスト-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