問題タブ [http-content-length]

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.

0 投票する
3 に答える
4409 参照

java - URL からファイル サイズをバイト単位または MB 単位で取得する方法

私はJavaが初めてです.. URLからファイルサイズを取得しようとしましたが、失敗しました.URLサイズをバイト単位で取得する方法を教えてください。

0 投票する
3 に答える
14910 参照

http - Varnish で 'Transfer-Encoding: chunked' エンコーディングを無効にするにはどうすればよいですか?

Varnish 4を使用して、有効なContent-Lengthヘッダーとヘッダーなしで応答する一連のバックエンドがありますTransfer-Encoding

クライアントからの最初のヒットで、これらのヘッダーでクライアントに応答するのではなく、Varnish はヘッダーを削除して応答Content-Lengthに追加します。Transfer-Encoding: chunked(興味深いことに、ペイロードにはチャンクが含まれていないようです。これは 1 つの連続したペイロードです)。

Content-Lengthこれは、ヘッダーに基づいてセグメント サイズ、帯域幅などの分析を行おうとする Flash ビデオ プレーヤーなどのクライアントに深刻な問題を引き起こします。彼らの分析は失敗し、マルチビットレートのストリーミングなどを行うことはできません。

私は次のようないくつかの半明白なことを試しました:

  • beresp.do_stream = true
  • beresp.do_gzip = false
  • unset req.http.Accept-Encoding

サンプル バックエンド レスポンス:

ワニスの応答例:

オブジェクトの後続のロードでは、キャッシュへの最初のロードではなく、ヘッダー含まれます。Content-Length

VCL: https://gist.github.com/onethumb/e64a405cc579909cace1

varnishlog 出力: https://gist.github.com/onethumb/e66a2bc4727a3a5340b6

ワニストラック: https://www.varnish-cache.org/trac/ticket/1506

0 投票する
1 に答える
671 参照

http - HTTP/1.0 応答で Content-Length ヘッダーを指定する利点は何ですか?

HTTP/1.0仕様では、サーバーがエンティティ本体を含む応答の長さを示すことができると述べています。

  • Content-Lengthヘッダーを送信する、または
  • 応答全体が送信されたときに接続を閉じます。

したがって、Content-Length画像、Html ページ、または Ajax データなどの通常の応答の場合、ヘッダーはオプションです

そのヘッダーが提供されているため、それを使用するといくつかの利点が得られる場合があります。

問題は、これらのケースとは何か、そしてその利点は何なのかということです。

(例: 応答がダウンロード中のファイルである場合、Content-Lengthが指定されている場合、ブラウザーは進行状況バーを表示します。)

0 投票する
1 に答える
904 参照

java - Http Content-Length を無視することは可能ですか?

Web サイトに関する情報を収集するためにCrawler4Jを使用しています。しかし、時々次のエラーが発生します。

情報: {someurl} のコンテンツを取得中に例外が発生しました [Content-Length で区切られたメッセージ本文が途中で終了しました (予想: X; 受信: Y]

(私には) X < Y の場合に発生するのか、それともその逆なのかは明確ではありません。

例外は、fetchContent の「fetcher.PageFetchResult.java」でスローされます (応答ヘッダーを取得するときに推測します)。

私の質問は次のとおりです。(一般的に) http content-length を無視して情報を取得する可能性はありますか?

私はすでにcrawler4jの問題を調べましたが、同様の問題はありません。

おそらく、stackoverflow コミュニティの誰かがこれを解決する方法を知っているでしょう。

どうもありがとうございました、

ひし

編集

この例外をスローするコード (スニペット):

responseHeaders とエンティティが null (デフォルト):

0 投票する
2 に答える
660 参照

c# - Web ファイルの画像/動画ヘッダー

C#では、ファイルのWebアドレスが画像かビデオかを検出できますか? このようなヘッダー値はありますか?

Web ファイルのファイルサイズを取得する次のコードがあります。

このコードを変更して、ファイルが画像か動画かを確認できますか?

前もって感謝します

0 投票する
1 に答える
2127 参照

c# - ASP.NET Web Api - Chunked Transfer Encoding を使用すると、フレームワークが JSON をオブジェクトに変換しない

C# および ASP.NET WebApi フレームワークで実装された REST API に HTTP PUT 要求を送信する Android の http クライアントがあります。

フレームワークは、JSON フィールドが C# クラスのプロパティと一致する限り、JSON をモデル クラス (プレーン オブジェクト) に魔法のように変換 (逆シリアル化) できる必要があります。

問題は、http 要求に Content-Length = 0 になる Chunked Transfer Encoding が含まれており ( http://en.wikipedia.org/wiki/Chunked_transfer_encodingに従って)、フレームワークが内部にある JSON をマップできない場合に発生します。 Http 要求メッセージなので、パラメーターは null です。

次の簡単な例を参照してください。

問題は、クライアントがチャンクされた http 要求を送信すると、レコードが null になることです。

私が理解しているように、Chunked Transfer エンコーディングは、http クライアントまたはサーバーがアプリケーション層 (トランスポート層のビジネス) で心配する必要のない単純な転送プロパティです。しかし、フレームワークは私が望むようにそれを管理していないようです。

手動で HttpRequestMessage から JSON を取得し、それを MyData オブジェクトにデシリアライズすることはできましたが、ASP.NET フレームワークの魔法を利用することはできませんでした。そして、あなたはルールを知っています:追加するコードが多いほど、より多くのバグが発生する可能性があります.

ASP.NET Web Api 2 でエンコードされたチャンク転送として来る JSON で Http Put 要求を処理する方法はありますか?

編集: これは、JSON を逆シリアル化するときにフレームワークがインスタンス化する必要があるこの例のモデル クラスです。