使用する
RESTクライアントは、acceptヘッダーを使用して、リソースの受け入れられたコンテンツタイプを提供できます(http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14)。提供されたヘッダー値は、要求されたコンテンツ形式の1つでリソースを提供するために、RESTサーバーによって使用されます。要求されたコンテンツタイプがサポートされていない場合は、否定応答コード406(「受け入れられない」)を返します。
プロセス
-
リクエストヘッダーを受け入れる:
このヘッダーは、クライアントに受け入れられるメディアタイプを指定します。このヘッダーの値には、MIMEタイプ(「text」など)とサブタイプ(「plain」など)が「/」で区切られたメディアタイプ範囲が含まれます。受け入れ値全体を総称(値* / *)にすることも、サブタイプのみを総称的に指定することもできます。
サポートされているタイプのリストがコンマで区切られている可能性があります。指定されたMIMEタイプがサーバーでサポートされていない場合、HTTP応答コード406(「受け入れられない」)が返されます。
さらに、acceptパラメーターをコンテンツタイプに使用できます(タイプ情報から;-文字で区切られます)。オプションは、各タイプ範囲にq値の追加で重みを与えるために頻繁に使用されます(q:サポートされているq値の範囲:0.001〜1.0)。
さらに、追加のパラメーターも可能ですが、サーバーの実装で理解する必要があります。
例:値application / xml; q = 0.8、plain / text; q = 0.5は、クライアントがサブタイプxmlのMIMEタイプアプリケーションとサブタイプtextのMIMEタイププレーンで応答を要求することを示します。指定されたq値は、指定されたタイプごとにサーバーに対するクライアントの優先順位を示します。この例では、q値は、クライアントのapplication/xmlタイプがtext/plainコンテンツタイプよりも優先されることを示しています。
-
文字セットを受け入れる:
クライアントはこのヘッダーを使用して、どの文字セットが応答に受け入れられるかを示すことができます。HTTP仕様で指定されている文字セットを明示的に指定することも、一般的な値*を使用することもできます。
文字セットヘッダーが存在しない場合、すべての文字セットが受け入れられます。文字セットが指定されているが、サーバーがそれをサポートしていない場合、HTTP応答コード406(「受け入れられない」)が返されます。
例:値Accept-Charset:iso-8859-1; q = 0.8は、文字セットiso-8859-1に指定された文字セットの優先順位を示す「0.8」のq値を与えます。
-
エンコーディングを受け入れる:
この値は、コンテンツの受け入れられるエンコーディングを指定します。これはAcceptヘッダーに似ていますが、応答で受け入れられるコンテンツコーディングを制限します。
例: Value Accept-Encoding:gzip; q = 0.5は、クライアントがq-valueが0.5のgzip圧縮されたコンテンツのみを受け入れることを示します。
-
言語を受け入れる:
これには、受け入れられている言語コードが含まれている場合があります。言語に依存するリソースが生成されている場合は、興味深い可能性があります。
例:値en; q = 0.8、fr; q = 0.7は、クライアントがフランス語の応答よりも英語の応答を好むことを示します。