ファイルを複数のチャンクに分割し、複数のHTTPリクエストを使用してファイルを送信する既存のSilverlightファイルアップローダーに取り組んでいます。
現在、クエリ文字列で開始バイトと合計バイトの情報を送信しますが、学習演習として、より標準ベースのアプローチを使用したいと思います。
以前、コンテンツを提供するエンドポイントを実装するときにHTTPContent-Rangeヘッダーを使用しました。このヘッダーは、クライアントからサーバーにコンテンツを投稿するときにも使用できますか?
ファイルを複数のチャンクに分割し、複数のHTTPリクエストを使用してファイルを送信する既存のSilverlightファイルアップローダーに取り組んでいます。
現在、クエリ文字列で開始バイトと合計バイトの情報を送信しますが、学習演習として、より標準ベースのアプローチを使用したいと思います。
以前、コンテンツを提供するエンドポイントを実装するときにHTTPContent-Rangeヘッダーを使用しました。このヘッダーは、クライアントからサーバーにコンテンツを投稿するときにも使用できますか?
はい。
RFC 2616(HTTP 1.1)、セクション14は、次のように述べています。
エンティティヘッダーフィールドの場合、送信者と受信者の両方が、エンティティの送信者と受信者に応じて、クライアントまたはサーバーのいずれかを参照します。
それ以外は、Content-Rangeヘッダーを定義するセクション14.16には、その使用を要求または応答のいずれかに制限する言語が含まれていないようです。
おそらくそうではありませんが、少なくとも2014年の時点では(元の回答は2011年のものです)。
更新されたHTTP1.1仕様rfc7231(4.3.3)は、有効なPOST応答について次のように述べています。
オリジンサーバーは、POSTリクエストの処理結果に応じて適切なステータスコードを選択することにより、応答セマンティクスを示します。この仕様で定義されているほとんどすべてのステータスコードは、POSTへの応答で受信される可能性があります(例外は206(部分的なコンテンツ)、304(変更されていない)、および416(範囲が満たされない)です)。
この言語が更新された仕様に明示的に追加されたことを考えると、作成者がContent-Range
ヘッダーをPOSTメソッドで使用することを意図していたとは思えません。