[解決済み] HTTP Range ヘッダー
2023-04-28 21:19:43
質問
私が読んでいたのは http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.35 を読んでいて、ファイルのダウンロードを継続する方法を見つけようとしていました。
たとえば、長さ 100 バイトのファイルがあり、私はその 100 バイトをすべて持っているとします。しかし、予想されるファイル サイズが分からないので、ファイルを要求し、次のような Range ヘッダーを指定します。
Range: bytes=100-
これは有効なRangeリクエストですか?
どのように解決するのですか?
これは構文的には有効なリクエストですが、満足できるリクエストではありません。 そのセクションをさらに見てみると
構文的に有効なbyte-range-setが、最初のバイト位置がentity-bodyの現在の長さよりも小さい少なくとも1つのbyte-range-spec、または0以外の接尾辞長を持つ少なくとも1つの接尾辞-range-specを含む場合、そのbyte-range-setは満足できるものである。そうでない場合は、バイトレンジ集合は満たされません。 byte-range-set が満足できない場合、サーバーはステータス 416 (Requested range not satisfiable) でレスポンスを返すべきです (SHOULD)。 . そうでない場合、サーバーはエンティティボディの充足可能な範囲を含む206 (Partial Content)のステータスを持つ応答を返すべきです(SHOULD)。
ですから、あなたの例では、そのファイルの有効なバイト範囲ではないので、サーバーは416を返すべきだと思います。
関連
-
[解決済み] 403 Forbiddenと401 UnauthorizedのHTTPレスポンスの比較
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] cURL呼び出しによるHTTPリクエストを使用してヘッダーを送信する方法は?
-
[解決済み] updateとdeleteのHTTPステータスコード?
-
[解決済み] カスタムHTTPヘッダー:命名規則
-
[解決済み] 検証失敗または重複が無効な場合のREST HTTPステータスコード
-
[解決済み] HTTPヘッダーの大文字と小文字は区別されますか?
-
[解決済み] PUT、DELETE、HEADなどのメソッドは、ほとんどのウェブブラウザで利用可能ですか?
-
[解決済み】HTTPのPOSTとPUTの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 要求されたURLの長さが、このサーバーの容量制限を超えていませんか?
-
multipart/form-data と application/octet-stream, application/x-www-form-urlencoded の違いについて
-
[解決済み] HTTPステータスコード0 - Error Domain=NSURLErrorDomain?
-
[解決済み] X-Forwarded-Hostヘッダーの実際の使用方法?
-
[解決済み] なぜCSRF防止トークンをクッキーに入れるのが一般的なのですか?
-
[解決済み] ETagとヘッダーエクスパイアの比較
-
[解決済み】REST APIでPATCHとPUTのどちらを使うべきですか?
-
[解決済み】AngularでHTTPリクエストにURL引数(クエリ文字列)を渡すには?
-
[解決済み】URI、URL、URNの違いは何ですか?[重複] URIとURLとURNの違いは何ですか?
-
[解決済み】ダイジェスト認証とベーシック認証の違いは何ですか?