問題タブ [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.
http - チャンク エンコーディングのサポートを無効にする
ブラウザでチャンク エンコーディングのサポートを無効にする方法はありますか?
.net - 要求ストリームからチャンクを送信するタイミングを WebRequest に伝えることはできますか?
WinForms アプリケーションから HTTP PUT 要求を送信しています。PUT データが到着すると、メッセージをデータベースに書き込むページに PUT データをゆっくりと送信したいと考えています。私は WebRequest を使用していて、SendChunked を true に設定しましたが、8KB のデータが要求ストリームに書き込まれた後にのみチャンクを送信するようです。
さらに悪いことに、Web ページは約 42KB で受信を停止したように見え、送信者は約 77KB で WebException をスローし、「リクエストは中止されました: リクエストはキャンセルされました」というメッセージが表示されます。
私は実際には各メッセージで非常に少量のデータを送信しているので、WebRequest が各メッセージを含む小さなチャンクを送信するように説得できれば、問題ありません。
これが私がこれまでに実験しているものです:
各メッセージの後に 1 KB の空白を書き込んで、WebRequest がより早くチャンクを送信するように強制します。
java - いくつかの readLine() の後に HttpConnectionParams.setSoTimeout() を設定できますか
JAVA ベースのコメット HTTP ストリーミングを作成しようとしています。これにはApache httpClient 4.xを使用しています。これはコメット HTTP ストリーミングであるため、すべてのイベントはチャンク データの形式でクライアントに送信されます。接続が長時間開いたままになる可能性があるため、サーバーからの readLine() データの後に SO_TIMEOUT の動的設定を実装しようとしています。
BufferedInputStream から readLine の後に SO_TIMEOUT の値を設定すると、有効になりません。execute() メソッド呼び出しの前に設定された元の SO_TIMEOUT 値が引き続き使用されます。
以下は、Apache Web サイトからの SO_TIMEOUT の定義です。 ソケット タイムアウト (SO_TIMEOUT) をミリ秒単位で定義します。これは、データを待機するためのタイムアウト、または別の言い方をすれば、2 つの連続するデータ パケット間の最大非アクティブ期間です)。ゼロのタイムアウト値は、無限のタイムアウトとして解釈されます。
上記の定義に従って、SO_TIMEOUT 値は、すべてのチャンク データの到着時に apache httpclient によってリセットされる必要があります。その場合は、新しい SO_TIMEOUT 値を受け入れる必要があります。BufferedInputStream から数行を読み取った後に SO_TIMEOUT 値を設定する方法について何か考えはありますか?
.net-4.0 - .Net 4.0のチャンク化された応答でTrailerヘッダーにアクセスする方法はありますか?
HttpWebRequest / Responseを使用すると、チャンクエンコードされた応答のTrailerヘッダーが破棄されます(実際に.Net 4.0参照ソースをステップスルーして、最後のチャンクの後でRemoveTrailersを呼び出す場所を確認しました)。それらのヘッダーを取得する方法はありますか?また、そもそもなぜこの振る舞いが行われているのか誰か知っていますか?
誰かが尋ねた場合、いいえ、トレーラーヘッダーが残りのヘッダーに移動されることを保証することはできません。これは、私が使用しなければならないデータストリーム形式です。
http - HTTP/1.1 チャンクでエンコードされた応答の中止
チャンクされた応答の応答失敗を処理する標準的な方法はありますか? 私はRFCを調べましたが、これを処理する標準的な方法がわかりません。
チャンクされたレスポンスについての私の理解では、サーバー上でレスポンス全体を一度に処理できない場合に便利です。したがって、応答の処理中に致命的なエラーが発生し、応答を終了する必要がある可能性があります。
私の最初の考えでは、接続を閉じることが最善の解決策ですが、この状況を処理する別の方法がないことを確認したかったのです. ありがとう。
groovy - HTTPBuilder / Groovyで「チャンク」エンコードされた応答を処理する
私は groovy を初めて使用し、いくつかの REST サービスをテストするために使用し始めました。「プロローグで許可されていないコンテンツ」が原因で、当社のサービスからの XML 応答を解析する際に問題が発生しています。しばらく検索した後、最初にバイトオーダーマーカーがある可能性があるという投稿に出くわしました。補償するために、最初の < の前の文字をトリミングしてから応答を解析するという彼らのアプローチに従いました。これは機能しますが、応答が「Transfer-Encoding: chunked」として返されるという問題もあると言われました。
HTTPBuilder を使用して、文字を切り落とさずにチャンクされた応答を処理する方法はありますか? 私が試してみると:
「コンテンツはプロローグで許可されていません」というメッセージが表示されます。でも:
http.request( Method.valueOf("GET"), TEXT )
動作しますが、XmlParser に応答を送信する前に、最初の < までテキストをトリミングする必要があります。
c# - チャンクエンコードされた URL を取得する
C# でチャンク エンコーディングを使用して (URL で) Web ページを取得する必要があります。それについていくつかのトピックがあります (SO についても、このChunked Encoding Implementation in .NET (または少なくとも疑似コード) for ex) がありますが、プレーンな C# でこれを行う方法がわかりません。コードで私を助けてください:)
asp.net - IIS7のファイルプロキシハンドラー
IHttpHandler
認証を確実にし、リクエストをログに記録するためのファイルプロキシがあります。開発サーバーとIIS6で正常に動作します。IIS7では、次の2つの問題があります。
Microsoft Office(Word、Excel ...)は
OPTION
、PROPFIND
動詞を使用してWebDAV要求を送信します。ASP.NETはそれらをサポートしていないため、例外をスローします。これらの動詞をIISレベルで無効にして、ASP.NETに到達しないようにする方法はありますか?エラーが返されると思い405 Method Not Allowed
ます(http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error)。IIS 7は、チャンクエンコードをオンにします。その場合、
Content-Length
ヘッダーは無効であり、明らかにIIS 7はヘッダーを削除します:http://greenbytes.de/tech/webdav/rfc2616.html#rfc.section.4.4。ただし、Content-Type
ヘッダーも削除されるため、ファイルはブラウザにテキストとして表示されます。では、IIS 7の削除を停止するContent-Type
にはどうすればよいですか、またはこの1ページのチャンクエンコードをオフにするにはどうすればよいですか?以下は、比較するための応答ヘッダーです。
開発サーバーの応答:
IIS 7の応答:
php - Twitter StreamingAPIOAuth-チャンク応答
Phirehose PHP Twitter Streaming APIを使用していますが、OAuthでも機能するようにいくつかの変更が加えられています。
ただし、Twitter Streaming APIにアクセスすると、回答として「Transfer-Encoding:Chunked」ヘッダーが表示され、これはパイプを介して行われます。
Phirehose Streaming Clientは、裸のPHPストリームを使用してTwitterAPIに接続しています。ただし、チャンク化されたHTTP回答を理解していない(またはサポートしていない)ようです。
私の質問は今です:これはどのように扱われるべきですか?チャンク化されたHTTP応答をどのように解析または処理しますか?
http - この応答は適切にエンコードされていますか?
Web リクエストへの応答として、次のヘッダーを受け取りました。
質問:
- これは有効な、または適切にエンコードされたチャンク応答ですか? そこに長さ 0 のチャンクはありません。私は何が欠けていますか?