問題タブ [http-content-range]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dojo - Django Rest ページネーションの Content-Range 設定
6.30.15 - この質問をより良く、他の人にとってより役立つものにするにはどうすればよいですか? フィードバックは役に立ちます。ありがとう!
content-range ヘッダーを dojo/dgrid リクエストに送信する必要があります。
これを行う方法の例が見つかりません。この設定がどこにあるのか正確にはわかりません (Content-Range: items 0-9/*)。この質問に関するリンクヘッダーのページネーションの素晴らしい例が与えられました: Django Rest Framework Pagination Settings - Content-Rangeしかし、これを機能させて Content-Range レスポンスを生成する方法がわかりません。誰かが良いリソースや例を知っていますか??
更新: Dojo/grid でページネーションを作成しようとしています。サーバー側の API (Django Rest Framework) を使用して Dojo/Dgrid にデータを提供しています。Django Rest Framework は、Dojo からの応答を受け取ったときに content-range ヘッダーを自動的に送信しません。Dojo は、ページネーションを持つようにフォーマットされている場合、範囲要求を送信します。Django Rest Framework API が Dojo からの要求を受け取ったときに content-range ヘッダーを送信するように構成する方法がわかりません。残念ながら、私は非常に具体的なことをしようとしていますが、どちらの側でも一般的な設定だけでは機能しません。
java - Dojo ページネーションで使用するために Restlet でカスタム Content-Range ヘッダーを設定すると失敗する
次のスレッドを読んだ後:
Restlet を使用してカスタム Content-Range ヘッダーを設定する
エンティティの範囲にカスタム ユニット名を設定してみました。これで問題は解決しません。
[...]
応答には、次のヘッダーが含まれるようになりました。
しかし、Restlet は range.size (この場合は 20) も読み取り、これを Content-Length として自動的に配置します。結果は次のとおりです。
これにより、クライアントが 20 バイト後に読み取りを停止します (たとえば、ブラウザは 20 バイト後に読み取りを停止します (出力ストリームが予期せず閉じられるため、これにより、サーバーでヌル ポインター例外も発生します)。)
Restlet の公式ドキュメント: http://restlet.com/technical-resources/restlet-framework/guide/2.3/core/http-headers-mapping
Content-Length は message.entity.size として利用可能ですが、Content-Range で目的の文字列を実現するには、これを 100 に設定する必要があります。range.size はエンティティのサイズではなくコンテンツの長さを計算するために使用されるため、これは私にはバグのように見えます。
Content-Length を手動で設定することはできません。これは標準ヘッダーでもあり、標準ヘッダーへの手動の変更は無視されるためです。
言及されたスレッドで提案された「修正」は、指定された範囲の実際のユニットではなく、ユニット名のみを変更します。そのままでは使用できないため、バイトとして解釈されます。
Range の値を 2 回使用する - content-range と content-legth が問題のようです。
ヘッダーを手動でオーバーライドする、または dojo 互換にする新しい方法はありますか?
ServerAdapter によって呼び出される HeaderUtils で手動の変更がブロックされ、「警告: 標準ヘッダーの追加 [...] は許可されていません...」という警告が発生します。
ffmpeg - ffmpeg は間違ったバイト範囲を計算しようとしていますか?
特定のタイムスタンプでムービー ファイルからサムネイルを抽出しようとしているときに問題が発生しました。通常、これで問題はありませんでしたが、要求されたバイト範囲に関するエラー (416 Requested Range Not Satisfiable) を取得しているムービー ファイルのセットに遭遇しました。
奇妙なことに、サーバーは部分的なコンテンツ リクエストでコンテンツの長さを正しく返していますが、ムービー ファイルをリクエストすると、それを超える長さをリクエストします。
これは私の頭を少し超えているので、ここで何が起こっているのかわかりません。どんな洞察も素晴らしいでしょう。
コマンド:
エラー:
ソース ファイルのサイズ:
ソースコンテンツの長さ:
部分的なコンテンツのリクエスト:
FFmpeg リクエスト:
ログ全体:
FFプローブ結果:
http - Goでhttp部分コンテンツを提供するには?
Go で記述された Web サーバーがあり、さまざまなソース (ローカル、他のサーバー、S3) からいくつかのオーディオ ファイルを提供しています。このファイルの部分的なコンテンツの提供を有効にして、HTML オーディオ タグがシークおよびループできるようにしたいと考えています。
どうすればこれを達成できますか? httpパッケージ関数がこれを行うことは知っていServeContentますが、ファイルを自分で提供することでどのように行うことができますか? 同じハンドラーでさまざまなソースからファイルを提供できるように、これなしで行う必要があります。
java - 応答のヘッダーが重複する / ブラウザーが断続的に失敗する
この問題は、コードを変更せずに数日前に始まったようで、ローカルの tomcat サーバーが応答を停止するだけでした。
メインのフィルター ブレークポイントがヒットせず、一部のリソースのみが読み込まれます。
失敗するものは、応答ヘッダーが重複しているようです。
そして chrome は error:Failed to load resource: net::ERR_INCOMPLETE_CHUNKED_ENCODINGで停止します。これは理にかなっています。
tomcat コネクタは変更されておらず、gzip 応答が含まれています。私は何を試しましたか:
- スレッド ダンプ - 明確なブロック コードはありません
- wireshark - 何がうまくいかないのかを理解するのに十分なほどよくわからない
- ウイルス対策を無効にしました
- プロキシが実行されていません
ページは永遠に読み込まれるようです。これがキッカーです。これはランダムに発生し、1 時間は機能し始めますが、次の時間は機能しません。
私が考えることができる唯一のことは、いくつかのドメインが変更された可能性があり、Windowsの更新が実行されておらず、他の3台または4台のPCが同じことを行い、他の2台はそうではないことです(同じビルド)
次にどこを見ればいいのかわからない?何か案は?
c# - 履歴書付きのC#ダウンロードファイル(Content-Range)
大きなファイルを部分的にダウンロードできるC#ライブラリまたはクラスがあり、接続に失敗した場合はダウンロードを再開しますか?
再開のダウンロードをサポートしていないため、組み込みの WebClient クラスを使用しようとしました。
例外で失敗します:「トランスポート ストリームから予期しない EOF または 0 バイトを受信しました」。