[1] application/http
は、 HTTP メッセージの列のMIME型です。
[9] どのような場面でこの MIME型が使われることがあるのかは不明です。
[12] OData は非同期の処理結果の報告に application/http
を使っています >>11。また HTTP 応答で転送される
multipart/mixed
の本体部分としても
message/http
を使っています >>13。
[15] Google BigQuery は複数の要求をまとめて送信したり、
それに対する応答を受信したりするために application/http
を
multipart/mixed
の本体部分として使っています >>14。
[5] 引数は次の2つが定義されており、いずれも省略可能です >>4。
[10] 処理モデルは特に規定されておらず、どのように利用するべきなのか不明です。
[2] 類似の媒体型として、 message/http
があります。こちらは RFC1945 から規定されていました。
message/*
では、 MIME
の規定により、行長に制限があるとか、生でない CTE
を使ってはいけないとかで、転送することが不可能な HTTP
メッセージが存在します。
一見転送できそうに見えても、 CR
だけとか LF
だけとかの改行が含まれていて、正規化されてしまった結果 HTTP メッセージとしては (Content-Length
とかと) 不整合なものになってしまう可能性があります。
そんなわけで application/http
が用意されました。
おそらく、ほとんどすべての場合で、 HTTP
メッセージには message/http
ではなく application/http
を使う方が適切でしょう。
[3] もう一つの重要な message/http
との違いとして、 application/http
ではパイプライン接続のようにメッセージ群を一つの実体に含めることができます。
(但し、要求のメッセージ群だけまたは応答のメッセージ群だけの連続でないといけません。混合は不可とされています。)
A batch request is a single standard HTTP request containing multiple Gmail API calls, using the multipart/mixed content type. Within that main HTTP request, each of the parts contains a nested HTTP request.
Each part begins with its own Content-Type: application/http HTTP header. It can also have an optional Content-ID header. However, the part headers are just there to mark the beginning of the part; they're separate from the nested request. After the server unwraps the batch request into separate requests, the part headers are ignored.
バッチ リクエストは、multipart/mixed コンテンツ タイプを使用した、複数の Google アナリティクス API 呼び出しを含む 1 つの標準的な HTTP リクエストです。このメインの HTTP リクエストを構成する各パートには、ネストされた HTTP リクエストが含まれます。
各パーツはそれぞれ Content-Type: application/http HTTP ヘッダーで始まり、オプションの Content-ID ヘッダーを指定することもできます。ただし、パーツヘッダーはパーツの開始箇所を示すためだけに存在していて、ネストされたリクエストとは分かれています。サーバーが一括リクエストを別々のリクエストにアンラップした後、パーツヘッダーは無視されます。
各パーツのボディ自体が完全な HTTP リクエストで、独自の動詞、URL、ヘッダー、ボディが含まれます。HTTP リクエストには URL のパス部分のみを含める必要があり、完全な URL は、一括リクエストでは許可されていません。
[20] Indexing API の使用 | 検索 | Google Developers () https://developers.google.com/search/apis/indexing-api/v3/using-api
[21] Sending batch requests | Cloud Storage | Google Cloud () https://cloud.google.com/storage/docs/json_api/v1/how-tos/batch