問題タブ [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.
java - Android: URLConnection.getContentLength() が間違った値を与える
以下を使用して、URL のコンテンツのサイズを取得しようとしています。
私はこれを の 内で使用していますが、doInBackground()
何らかのAsyncTask
理由conn.getContentLength();
で を返す1273
必要があるときに を返してい10136
ます。
上記のコードを通常の Java アプリケーションの Main 内で使用したところconn.getContentLength();
、正しい 10136 値が返されました。
で機能しないのはなぜAsyncTask
ですか?
java - 2 つのサーブレット、1 つは応答で Content-Length を取得し、もう 1 つは取得しません
私は 2 つの異なるサーブレットを持っています。どちらも POST 呼び出しを処理しており、結果としてファイルをストリーミングしています。1 つは常に Content-Length ヘッダーで終わりますが、もう 1 つは決してありません。どちらも javax.servlet.http.HttpServletResponse を使用します。
どちらも "Content-Type" = "application/octet-stream" を設定します。
この違いを引き起こすために何ができるかを理解できませんでした。
処理で見られる唯一の実際の違いは、Content-Length を取得しないファイルのサイズは通常数 MB であり、もう 1 つは通常わずか数 KB であることです。
念のため、response.AddHeader("thing", size) を使用してみましたが、そのヘッダーがどちらのサーブレットにも表示されないことに気付きました。
OS/X マシンでファイルを受信し、[NSHTTPURLResponse allHeaders] を使用して応答ヘッダーを確認していることに注意してください。
これは、大幅に削減されたコードです。基本的に、応答を参照したものだけを保持しました。
http - この GET 応答 Content-Length はどのように計算されますか?
応答ヘッダーは次のとおりです。
応答は次のとおりです。
絵として:
Content-Length:129 の計算方法を知りたいです、ありがとう!
qt - QtはAmazon S3ファイルのコンテンツの長さを取得します
私の Qt アプリで、Amazon S3 でホストされているファイルのファイル サイズを取得したいと考えています。
以下のコードは、S3 以外のファイルにはうまく機能しますが、署名付きの S3 リンクの場合は出力されますQVariant(Invalid)
Content-Length が S3 HTTP ヘッダーにないようです...では、ファイル サイズを取得するにはどうすればよいですか?
http - HTTP POST パケットと Content-Length フィールドの問題
POST メソッドで完全な http 要求パケットを書き込む必要があります。POST では Content-Length フィールドを受け入れる必要がありますが、すべてを書き込むまでパケット サイズはわかりません。http 要求の最後に Content-Length フィールドを追加できますか? Content-Length フィールドのサイズを長さカウントに含める必要がありますか?
php - Content-Length ヘッダーが正しく設定されていない
私はphpスクリプト(実際にはhttps://drupal.org/project/file_force)を持っています。これは、リンクをクリックしたユーザーに、正しいヘッダーを応答に追加してそのリンクをダウンロードさせるように強制しています。
このリンクは 90% の確率で正常に機能します。時折、誤ったコンテンツ長が渡されるため、ユーザーは切り捨てられたように見えるファイルを取得します。エラーは特定のファイルで一貫して発生しますが、それらのファイルを再アップロードすると、新しいインスタンスにエラーが表示されない可能性があるため、これはファイルの問題ではなく、キャッシュのどこかにあると思われます。そのため、毎回 clearstatcache() を実行しても無駄でした。奇妙なのは、php が正しいファイル サイズを渡していること、または、挿入する文字列をログ ファイルに渡すときだと言っていることです。
関連するコードは次のとおりです。
動作していないファイルに対する sprintf('%u', filesize($filepath)) からのサンプル出力は、ブラウザがそれを見るようになったときに2682059
何らかの形で変換されます。1740048
sprintf 関数を無駄に削除しようとしました。また、Content-Length 宣言をまったく含めないようにしましたが、とにかく誰かが間違った値に関連付けられています。この最後の証拠は、他のコードがここで設定しているコンテンツ ヘッダーをオーバーライドしていることを示唆している可能性がありますが、その理論をテストするために上記のコードで変更した他のヘッダーはそのままにしてあるようです。
どこを見ればよいか、何か考えはありますか?
etag - etags とチャンクエンコーディングを同時に活用していますか?
更新された質問
アプリケーションでどのように etag を活用できますか? また、ストリーミング/チャンク エンコーディングを導入すると複雑になりますか?
元の質問
で HTTP ストリーミングを行う場合Transfer-Encoding: chunked
、Content-Length
は不明な場合が多いため送信できません。
私の理解では、ブラウザーが etags を利用する場合、知っておく必要がありますContent-Length
。etag が提供されていても提供されていない場合Content-Length
、ブラウザは決して送信しませんIf-None-Match
。
これを回避する方法はありますか?
json - サーバー側で受信された空の大きなボディを持つ POST リクエスト
POST
Play フレームワークのアクション メソッドに大きなボディのリクエストを発行するとnull
、データを抽出するときに取得します。本体がかなり小さい場合は、問題なくデータを取得できます。
サンプルの短いデータ セットを次に示します。
POST
本文にこの JSON を含むリクエストを発行すると、すべて正常に動作します。geometry
ただし、配列にさらに多く (〜 4000) のポイントを追加するnull
と、アクションが発生します。
これが私のアクションメソッドです:
Chrome で高度な REST クライアントを使用しċurl
てリクエストを送信しようとしましたが、どちらも失敗しました。
何が問題なのですか?Content-Lenght
大規模なリクエストにヘッダーを含める必要があるのでしょうか? もしそうなら、どうすれば任意の JSON データに対して手動で計算できますか?
php - PHP Content-Length ヘッダーが機能しない
このコードを使用して .zip ファイルをダウンロードしようとしています
しかし、ファイルサイズを のような数値に設定しようとしても、うまくいかないようですheader("Content-length: 567247784");
。サイズが宣言されていないか、28バイトのような小さなファイルサイズのファイルしか取得しません。
この質問を見て、ポスターと同じ問題を抱えていると思いますが、彼の解決策は「サーバーに問題がありました」です。サーバー構成の問題もあると思いますが、彼の答えはまったく役に立ちません。