Security-testing-http-parameters
セキュリティテスト-HTTPパラメーター
HTTPパラメーター
ここでは、HTTPクライアントまたはサーバープログラムの作成中に要求および応答メッセージを作成するのに必要ないくつかの重要なHTTPプロトコルパラメーターとその構文について説明します。 HTTPリクエストとレスポンスのメッセージ構造について説明しながら、これらのパラメーターの完全な使用方法を以降の章で説明します。
HTTPバージョン
HTTPは、プロトコルのバージョンを示すために <major>。<minor> 番号付けスキームを使用します。 HTTPメッセージのバージョンは、最初の行のHTTP-Versionフィールドで示されます。 HTTPバージョン番号を指定する一般的な構文は次のとおりです-
例
Uniform Resource Identifiers(URI)
URIは、名前、場所などを含む単純にフォーマットされた大文字と小文字を区別しない文字列です。 リソースを識別する。 たとえば、Webサイト名、Webサービスなど。 HTTPに使用されるURIの一般的な構文は次のとおりです-
ここで、 port が空または指定されていない場合、HTTPのポート80が想定され、空の abs_path は abs_path の「/」と同等です。 reserved および unsafe セットの文字以外の文字は、 ""% "HEX HEX"エンコーディングと同等です。
例
次の3つのURIは同等です-
日付/時刻形式
すべてのHTTP日付/時刻スタンプは、例外なくグリニッジ標準時(GMT)で表す必要があります。 HTTPアプリケーションは、日付/時刻スタンプの次の3つの表現のいずれかを使用することが許可されています-
キャラクターセット
文字セットを使用して、クライアントが好む文字セットを指定します。 複数の文字セットをコンマで区切ってリストできます。 値が指定されていない場合、デフォルトはUS-ASCIIです。
例
次の文字セットが有効です-
コンテンツエンコーディング
コンテンツエンコーディング値は、ネットワーク上でコンテンツを渡す前に、エンコーディングアルゴリズムを使用してコンテンツをエンコードすることを示します。 コンテンツエンコーディングは主に、ドキュメントを圧縮したり、IDを失わずに便利に変換したりするために使用されます。
すべてのコンテンツコーディング値は大文字と小文字を区別しません。 HTTP/1.1は、Accept-EncodingおよびContent-Encodingヘッダーフィールドのコンテンツコーディング値を使用します。
例
以下は、有効なエンコード方式です-
メディアの種類
HTTPは、 Content-Type および Accept ヘッダーフィールドでインターネットメディアタイプを使用して、オープンで拡張可能なデータタイピングとタイプネゴシエーションを提供します。 すべてのメディアタイプの値は、Internet Assigned Number Authority((IANA)に登録されています。 次の一般的な構文は、メディアタイプを指定します-
タイプ、サブタイプ、およびパラメーターの属性名では、大文字と小文字が区別されません。
例
言語タグ
HTTPは、 Accept-Language および Content-Language フィールド内で言語タグを使用します。 言語タグは、1つ以上の部分で構成されています:プライマリ言語タグとサブタグの空のシリーズ-
タグ内では空白は許可されず、すべてのタグは大文字と小文字を区別しません。
例
タグの例-
ここで、2文字のprimary-tagはISO-639言語の略語であり、2文字の初期サブタグはISO-3166国コードです。