Http-parameters

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

HTTP-パラメーター

この章では、いくつかの重要なHTTPプロトコルパラメーターとその構文が通信で使用される方法をリストします。 たとえば、日付の形式、URLの形式など。 これは、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)は、名前、場所などを含む単純にフォーマットされた大文字と小文字を区別しない文字列です。 Webサイト、Webサービスなどのリソースを識別するため HTTPに使用されるURIの一般的な構文は次のとおりです。

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

ここで、 port が空であるか指定されていない場合、HTTPに対してポート80が想定され、空の abs_path は「/」の abs_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ヘッダーフィールドでcontent-coding値を使用します。これについては、以降の章で説明します。

有効なエンコードスキームは次のとおりです。

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国コードです。