問題タブ [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.
apache - Apache 2:httpチャンクサイズを変更するには?
Apache 2.x のデフォルトの http/1.1 チャンク サイズは 8192 バイトだと思いますか?
それを変更するための指示が表示されません - 文書化されていないものはありますか?
また、ファイルを強制的にチャンクすることは可能ですか? Apache は通常、合計サイズがわかっている場合 (静止画像など)、ファイルをチャンクしません。この動作を変更できますか?
c++ - libcurl: チャンクでエンコードされた応答のチャンク境界を検出する
現在簡単なAPIであるlibcurlを使用しています。HTTP Chunked Encoding で応答する Web サーバーにリクエストを送信しています。サーバーからのチャンクがいつ終了したかを知る方法があるかどうか知りたいです。ある種のコールバックを探していました。DEBUGDATA には含まれていないようで、CHUNK_END_FUNCTION は無関係のようでした。
http-headers - Tomcat 6 で Transfer-Encoding を無効にする方法
Tomcat 6.0.29 サーバーと JDK 1.6 で Web アプリケーションを実行しています。
クライアントに応答を送信すると、Tomcat が送信します
応答サイズが 8KB を超える場合、ヘッダーに 応答が 8KB 未満の場合、送信します
チャンク エンコーディングが一括応答を処理するための推奨される方法であることは理解していますが、クライアントはコードを変更したくありません (サーバー全体に分散されているため)。
Tomcat で Chunked エンコーディングを無効にするにはどうすればよいですか?
Tomcat で HTTP/1.1 を無効にして、HTTP/1.0 を有効にすることができました (これを行う方法がわからない)
次のことを試しましたが、成功しませんでした:
のConnectorタグで
/li>server.xml
、設定しましたbufferSize =" 65536"
次の構成で server.xml で NIOConnector を使用します。
/li>
vb.net - vb.netの最初のn番目の文字の後のコンテンツのみを直接取得する
VB.NET で GET または POST を使用して HTTP 要求を HTTPS ページに送信した後、最初の 5000 文字の後の 1000 文字を直接スキップして、それ以前のすべてをスキップする方法はありますか?
この質問をする理由は、プログラムを実行しようとしている Web ページの 1 つで、Web サイトが応答データをチャンクで送信しているためです。ケアは 2 番目のチャンクにあり、
同じHTTPリクエスト内にあるため、最初のチャンクを受信した後に2番目のチャンクを取得する方法がわかりません
必要のない最初のチャンクをスキップできれば、時間とインターネット トラフィックを節約できます。
それは可能ですか、それとも私はただの夢想ですか?
どうもありがとう!
追加: 取得しようとしている Web ページから取得する応答の典型的なヘッダーは次のとおりです。
それが役立つかどうかはわかりませんが、ご覧のとおり、チャンクサイズは表示されず、ヘッダーにも「トレーラー」はありません。
java - ソケットを介してチャンク読み取り
私のアプリでは、ソケットを介して http-get リクエストを送信します。その後、Web サイトから応答が送信されますが、チャンク エンコーディングが使用されています。完全なデータをダウンロードする方法はありますか? データのダウンロード方法が間違っているのではないでしょうか?
「ChunkedInputStream」について読みましたが、うまくいきません。
java - ThreadSafeClientConnManagerを使用する接続の応答からチャンクフッターを取得するにはどうすればよいですか?
ThreadSafeClientConnManager(Apache httpcomponents 4.1.1)によって作成された接続を使用しています。response.getEntity()。isChunked()によって決定されるように、応答はチャンク化されます(これは私が期待しています)。
ただし、フッター/トレーラー(アプリケーションに必要)を取得する方法はありません。応答がチャンク化されているため、エンティティの内容はChunkedInputStreamタイプであると予想されますが、クライアントが使用するデフォルトのリクエストディレクタークラスとエグゼキュータークラスは、元の応答エンティティをラップします(httpcomponentsソースを見るとChunkedInputStreamでした)。 BasicManagedEntity内。
つまり、BasicManagedEntityは基になるエンティティを使用できるようにしないため、応答からフッター/トレーラーを削除できなくなりました。誰かがこれを回避する方法を知っていますか?
参考までに、以下を参照してください。
- org.apache.http.impl.client.DefaultRequestDirector.java、行523-525
- org.apache.http.impl.entity.EntityDeserializer.java、93〜96行目
android - チャンクされたデータを際限なく受信する
HTTPヘッダーでチャンク化されたファイルを送信することでご存知かもしれませんが、コンテンツの長さはないため、プログラムはファイルが終了したことを理解するために0を待つ必要があります。
このファイルを受信するには、次のコードを使用できます。
しかし、私の場合、ストリーミングチャネルを使用しています。つまり、ファイルが終了したことを示す0はありません。とにかく、私がこのコードを使用する場合、それは決して起こらない0を待つために永遠に待つようです。私の質問は、ストリームチャネルからチャンクファイルを受信するためのより良いアプローチはありますか?
python - Pythonurllib2デコードチャンクエンコーディング
URLを開いて読み取るための次のコードがあります。
これがHTTPからデータを読み取るための最も標準的な方法だと思います。ただし、応答にチャンク転送エンコーディングがある場合、応答は次の文字で始まります。
これは、上記のチャンクエンコーディングが原因で発生するため、XMLデータが破損します。
では、チャンクエンコーディングに関連するすべてのメタデータをどのように取り除くことができるのでしょうか?
apache - カスタム CMS での Apache Bench のひどい結果
注意: これは、見掛け倒しの CMS についての不満ではありません。
Apache Bench をいじって、カスタム CMS でひどい結果を得ました。より正確には、次のようになりました。
プレーンphpファイルで別のテストを実行すると、次の結果が得られました。
以前のバージョンの CMS を使用した別のテスト:
ウェブサイトは正常に機能しており、問題は検出されませんでした。Google のウェブマスター ツールは、私たちのサイトがページの 80% よりも高速であると報告しています。これは問題ないと思います。
テストは次のとおりです。
多分ある種のApacheの問題ですか?悪い.htaccess
設定、または同様の?
アップデート:
ソケットで簡単なテストを実行しただけで、結果は似ています。ページの読み込みが非常に遅い。別の Web サイトでスクリプトを実行した場合、すべて問題ありません。
また、チャンクの長さの問題についての小さなヒントもあります。(Apache ヘッダー、または行末が間違っていますか?)
サイトは gzip で圧縮されており、詳細ログをオンにすると、応答に次の行が表示されます。
常に同じ場所、HTML ソースの真ん中、そして<!DOCTYPE HTML>
また。
助けてください。
更新 #2:
Rex Swain の HTTP ViewerでHTTP ヘッダーをチェックしたところ、次の結果が得られました。
何か異常に気づきましたか?
flash - リクエストごとのチャンクを無効にする
Java サーブレットに支えられた Web サービスがあります。このサービスは、古いバージョンの Flash で使用されています。このバージョンの Flash ではURLLoader
チャンクされたレスポンスが機能しないことがわかりました。チャンクされた応答がサーバーから受信されることはありません。
Glassfish を使用してサーブレットをホストしています。サーバー全体のチャンクを無効にする方法は知っていますが、それは悪い考えのようです (そうですか?)。
リクエストごとにチャンクを無効にする標準的な方法はありますか? 呼び出してみServletResponse.setBufferSize(SOME_LARGE_VALUE)
ましたが、驚くべきことに、これはチャンクを使用するというサーバーの決定に影響しませんでした。