問題タブ [chunked-encoding]
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.
php - PHP ファイル サービング スクリプト: 信頼できないダウンロード?
この投稿は ServerFault ( https://serverfault.com/questions/131156/user-recoming-partial-downloads ) に関する質問として始まりましたが、私たちの php スクリプトが原因であると判断しました。そのため、実際の問題であると私が信じていることについて、ここで更新された質問を発行しています。
私はphpスクリプトを使用してアクセス許可を確認し、Webサイトのユーザーがダウンロードできるようにファイルを提供しています。ほとんどの場合、これは機能しますが、最近、1 人のユーザーがサイズの大きいダウンロードで問題を経験しています。彼は、サイズが 100MB を超えるファイルのダウンロードの最大 80% しか取得していません。また、このスクリプトからのすべてのダウンロードは、ファイルサイズを報告しません。さらに、テストの結果、直接リンクを指定すると (その時点でファイルサイズが報告されます)、同じユーザーが失敗した各ファイルを確実にダウンロードできることが明らかになりました。
ファイルを提供するために使用しているコードの関連スニペットは次のとおりです。
ここに到達する前に、$contenttype、$filename、$title、および $ext がすべて正しく設定されていることに注意してください。これらはトリプルチェックされています。それらのどれも問題ではありません。また、$len は正しいファイルサイズを提供します。
この問題を調査しているときに、次の投稿に出くわしました: Content-Length ヘッダーは常にゼロです。
私は同じ問題に遭遇しているようです。スクリプトを使用すると、ファイルでチャンク エンコーディングが取得され、コンテンツの長さのサイズが設定されません。大規模なダウンロードで何かがうまくいかず、ファイルの終わりの前に長さゼロのチャンクを取得するようになったのではないかと推測しています。
直接リクエストのヘッダーは次のようになります。
そして、これが私のスクリプトによって応答されたリクエストのように見えるものです:
問題は、スクリプトからのダウンロードを適切に機能させるにはどうすればよいかということです。繰り返しますが、99% のユーザーにとってはそのままで機能します (ただし、ファイルサイズが報告されず、ダウンロードにかかる時間の見積もりが計算されないことが今では面倒だと思います)。
php - チャンク転送エンコーディングと gzip の両方を使用する
最近、自分のサイトで gzip の使用を開始しましたが、Opera を除くすべてのブラウザーで魅力的に機能し、データが破損しているためコンテンツを解凍できないというエラーが表示されました。テストとグーグルで収集できることから、gzipとチャンク転送エンコーディングの両方を使用すると問題が発生する可能性があります。css-files のような小さなファイルを要求してもエラーが発生しないという事実も、その方向性を示しています。
これは既知の問題ですか、それとも私が考えていないことが他にありますか?
また、Content-Length ヘッダーの送信と関係がある可能性があると述べた人もいます。
これは、私のコードの最も関連性の高い部分の簡略版です。
svg - gzip されてチャンク転送された場合、SVG は部分的にレンダリングできますか?
動的に生成された大規模な SVG があり、比較的低速のインターネット接続で提供されています。できるだけ早く表示できるように最適化しようとしています。サーバーを Content-Encoding: gzip および Transfer-Encoding: chunked に設定した場合、SVG ビューアはそれを利用して、転送時に部分的にレンダリングしますか? そうでない場合、ストリームとしてレンダリングする他の方法はありますか? それをいくつかの SVG の断片に分割することはできますが、それは大変な作業になるでしょう。サーバーの設定を望んでいました...
最も一般的なユーザーは、IE7 と Adobe SVG Viewer プラグインを使用します。
問題があるとは思えませんが、私は C#/ASP.NET と IIS6 を使用しています。
http - 複数のパケットにわたるHTTPデータチャンク?
HTTPサーバーが複数のパケットを介してデータを送信する正しい方法は何ですか?
たとえば、ファイルを転送したい場合、最初に送信するパケットは次のとおりです。
送信するだけの場合は、新しいパケットを作成する必要があります。
すべてのクライアントが私の接続を閉じ、ファイルが短くなります。
データストリームを続行するために、2番目のパケットにどのヘッダーを入れますか?
nginx - nginx Chunked Transfer Encoding の有効化
nginx 0.8.35 はチャンク転送エンコーディングをサポートしているようです:
nginx 0.8.35 での変更点 2010 年 4 月 1 日
nginx リバース プロキシを介して git-http-backend プロセスに git の変更をプッシュしようとしているので、これは素晴らしいことです。Git HTTP は、クライアント側の効率上の理由から、チャンク転送エンコーディングを利用します。
しかし、私はそれを機能させることができません。次のconfigure呼び出しでDebian Lennyでnginx 0.8.44を使用しています:
そして、次のconfファイル:
そして、私は次のようにproxy.conf
見えます:
php - CURL vs fsockopen チャンキング
これは少し奇妙に思えるかもしれません..しかし、HTTP経由で送信されるチャンクをPHPで評価/解析する必要があります。
HTTP ストリームが終了しない可能性があることに注意してください。CURLで取得したチャンクを解析する方法はありますか?
それとも、自家製のfsockopen()
ソリューションに頼る必要がありますか?
browser - (非表示の) iframe の読み込みによって発生する「ページの読み込み」/「データの転送」インジケーターとスピナーを非表示にする方法
Web ページの読み込み中にブラウザが表示するスピナーと「データ転送中」インジケータを抑制する方法はありますか?
非表示の iframe にドキュメントを読み込んでいますが、これには長い時間がかかります (数十分)。ユーザーにこれを認識してほしくない/必要はありません。ページがまだロードされているように見えるのは、ユーザーを混乱させるだけです。だから、ブラウザが通常表示する「ページの読み込み」アクティビティをすべて無効にしたいと思います。
iphone - iPhoneでHTTPPostチャンクリクエストを実装するための最良の方法は何ですか?
NSUrlConnectionはかなりバグがあり、多くのリークがあると述べた2008年の非常に古いスレッドがあります。これはまだ当てはまりますか?
チャンクアップロードをすでに実装しているCocoaTouchクラスはありますか、それともCFクラスを使用したほうがいいですか?
java - Javaでのチャンクされたhttpデコード?
http パケットをデコードしています。そして、チャンクの問題という問題に直面しました。http パケットを取得すると、ヘッダーと本文があります。transefer-encoding がチャンクされている場合、どうすればよいかわかりません。
JAVA でデータをデチャンクするための便利な API またはクラスはありますか?
また、http のデコードについて経験のある方がいらっしゃいましたら、方法を教えてください。
http - チャンクエンコーディングについて説明できますか?
Firefox で要求された場合、32
欠落し0
ています。なんで?