Loading / Đang tải…
バイト範囲のリクエスト、シーク、および中断されたダウンロードが再開される場合と再開されない理由を理解します。
公開日
HTTP Range リクエストを使用すると、クライアントはリソースを最初からダウンロードするのではなく、リソースの一部を要求できます。ブラウザとメディア プレーヤーはシークに範囲を使用できますが、ダウンロード クライアントはデータを再開するために範囲を使用できます。サポートはサーバーとリソースの配信方法によって異なります。
クライアントはサーバーにバイト間隔を要求でき、サポートするサーバーは部分コンテンツのステータスと要求されたバイトで応答できます。このメカニズムは HTTP リソース レベルで動作します。それ自体ではビデオ シーンやタイムスタンプを理解できません。メディア プレーヤーは、コンテナー情報とインデックス作成を使用して、要求された時間を必要なバイトにマッピングします。
ビデオ内で前方にジャンプすると、ブラウザは以前のすべてのバイトを待つのではなく、新しい位置付近のデータを要求する場合があります。効率的なシークは、コンテナのメタデータとサーバーの動作にも依存します。サーバーが範囲リクエストを無視した場合、プレーヤーはさらに多くのデータを順次ダウンロードする必要があるか、シークの処理がスムーズに行われない可能性があります。
通常、再開には、クライアントがすでに格納されているバイト数を認識し、サーバーが残りの部分のリクエストを受け入れる必要があります。変更されたファイル、期限切れの署名付き URL、セッション Cookie の欠落、または範囲サポートのないサーバーにより、続行が妨げられる可能性があります。セグメント化されたストリーミングの構造は異なります。クライアントは、1 つのファイルを続行するのではなく、欠落しているセグメントをフェッチする必要がある場合があります。
範囲の動作はリクエスト ヘッダーとレスポンス ヘッダーを通じて確認できますが、1 回の観察だけでは、すべてのダウンロードが再開できるかどうかは確立されません。応答は、認証、キャッシュ、プロキシ、サーバー構成によって異なります。許可されたダウンロードが停止した場合は、元のブラウザーのワークフローとその再試行制御を使用します。認証チェックや DRM を回避しようとしないでください。
自分が所有するコンテンツ、または保存する許可を持っているコンテンツのみをダウンロードしてください。サポートは Web サイトとメディア形式によって異なります。 DRM で保護されたコンテンツはサポートされていません。