Security-testing-http-parameters

提供:Dev Guides
移動先:案内検索

セキュリティテスト-HTTPパラメーター

HTTPパラメーター

ここでは、HTTPクライアントまたはサーバープログラムの作成中に要求および応答メッセージを作成するのに必要ないくつかの重要なHTTPプロトコルパラメーターとその構文について説明します。 HTTPリクエストとレスポンスのメッセージ構造について説明しながら、これらのパラメーターの完全な使用方法を以降の章で説明します。

HTTPバージョン

HTTPは、プロトコルのバージョンを示すために <major>。<minor> 番号付けスキームを使用します。 HTTPメッセージのバージョンは、最初の行のHTTP-Versionフィールドで示されます。 HTTPバージョン番号を指定する一般的な構文は次のとおりです-

HTTP-Version = "HTTP" "/" 1*DIGIT "." 1*DIGIT

HTTP/1.0

or

HTTP/1.1

Uniform Resource Identifiers(URI)

URIは、名前、場所などを含む単純にフォーマットされた大文字と小文字を区別しない文字列です。 リソースを識別する。 たとえば、Webサイト名、Webサービスなど。 HTTPに使用されるURIの一般的な構文は次のとおりです-

URI = "http:" "//" host [ ":" port ] [ abs_path [ "?" query ]]

ここで、 port が空または指定されていない場合、HTTPのポート80が想定され、空の abs_pathabs_path の「/」と同等です。 reserved および unsafe セットの文字以外の文字は、 ""% "HEX HEX"エンコーディングと同等です。

次の3つのURIは同等です-

http://abc.com:80/~smith/homel
http://ABC.com/%7Esmith/homel
http://ABC.com:/%7esmith/homel

日付/時刻形式

すべてのHTTP日付/時刻スタンプは、例外なくグリニッジ標準時(GMT)で表す必要があります。 HTTPアプリケーションは、日付/時刻スタンプの次の3つの表現のいずれかを使用することが許可されています-

Sun, 06 Nov 1994 08:49:37 GMT  ; RFC 822, updated by RFC 1123
Sunday, 06-Nov-94 08:49:37 GMT ; RFC 850, obsoleted by RFC 1036
Sun Nov  6 08:49:37 1994       ; ANSI C's asctime() format

キャラクターセット

文字セットを使用して、クライアントが好む文字セットを指定します。 複数の文字セットをコンマで区切ってリストできます。 値が指定されていない場合、デフォルトはUS-ASCIIです。

次の文字セットが有効です-

US-ASCII

or

ISO-8859-1

or

ISO-8859-7

コンテンツエンコーディング

コンテンツエンコーディング値は、ネットワーク上でコンテンツを渡す前に、エンコーディングアルゴリズムを使用してコンテンツをエンコードすることを示します。 コンテンツエンコーディングは主に、ドキュメントを圧縮したり、IDを失わずに便利に変換したりするために使用されます。

すべてのコンテンツコーディング値は大文字と小文字を区別しません。 HTTP/1.1は、Accept-EncodingおよびContent-Encodingヘッダーフィールドのコンテンツコーディング値を使用します。

以下は、有効なエンコード方式です-

Accept-encoding: gzip

or

Accept-encoding: compress

or

Accept-encoding: deflate

メディアの種類

HTTPは、 Content-Type および Accept ヘッダーフィールドでインターネットメディアタイプを使用して、オープンで拡張可能なデータタイピングとタイプネゴシエーションを提供します。 すべてのメディアタイプの値は、Internet Assigned Number Authority((IANA)に登録されています。 次の一般的な構文は、メディアタイプを指定します-

media-type = type "/" subtype *( ";" parameter )

タイプ、サブタイプ、およびパラメーターの属性名では、大文字と小文字が区別されません。

Accept: image/gif

言語タグ

HTTPは、 Accept-Language および Content-Language フィールド内で言語タグを使用します。 言語タグは、1つ以上の部分で構成されています:プライマリ言語タグとサブタグの空のシリーズ-

language-tag = primary-tag *( "-" subtag )

タグ内では空白は許可されず、すべてのタグは大文字と小文字を区別しません。

タグの例-

en, en-US, en-cockney, i-cherokee, x-pig-latin

ここで、2文字のprimary-tagはISO-639言語の略語であり、2文字の初期サブタグはISO-3166国コードです。