問題タブ [transfer-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.
spray - 最大チャンクに収まるように大きなチャンクを小さなチャンクに分割する方法は?
私のサーバーはチャンクされたエンコードされたデータを送信しており、クライアントでチャンクされた応答を取得できます。私が直面している問題は、一部のチャンクが大きすぎることです。約 10 MB です。最大チャンク サイズを 2M に設定しているため、例外が発生します。
この大きなチャンクを小さなチャンクに分割する方法はありますか?
c# - チャンクされた HTTP レスポンスの最大チャンク サイズを設定する
マイクロコントローラー (Texas Instruments CC3100 wifi チップを使用) に応答を提供する Web サイト (Azure 上の c#) を作成しました。
マイクロコントローラのメモリは限られているため、バッファ サイズを 1000 バイト未満に制限したいと考えています。Transfer encoding Chunked を使用できます (動作します) が、「TCP/IP ボンネットの下」に設定されているように見えるため、最大チャンク サイズを設定する方法を見つけるのに苦労しています。
私の現在の短縮コードは次のとおりです: -
私が見る限り、チャンクサイズを制限するサーバーまたはヘッダー設定はありません。小さなチャンクサイズを強制する方法はありますか (ある種の書き込みに続いてフラッシュが行われる可能性がありますか?)。
どんな助けでも大歓迎です。
amazon-s3 - http 1.1 GET コマンドの問題
以下の get コマンドを使用して test.pdf ファイルをダウンロードできます。マイクロコントローラーがサーバーと通信するために C で記述したコードを使用します。
GET /TestFolder/test.pdf HTTP/1.1\r\n ホスト: www.xyz.com\r\n\r\n ファイル: test.pdf は、ホスト: xyz.com のフォルダー: TestFolder にあります。
Amazon S3 でプログラムをテストしたかったのです。アカウントを作成してデータをアップロードし、ファイルとフォルダーを公開し、S3 バケットにポリシーを追加してオブジェクトにアクセスできるようにしました。上記の GET コマンドを S3 ホスト s3-us-west-2.amazonaws.com に送信すると、ソケットが接続された後にエラーが発生し、サーバーの IP を取得すると、S3 からのエラー メッセージに次のように表示されます。
応答エラー: HTTP/1.1 400 Bad Request
Transfer-Encoding: chunked
Date: Mon, .. 2015 04:15:02 GMT
Connection: close
Server: AmazonS3
get コマンドから余分な \r\n を削除しようと考え、このコマンドを s3 GET /TestFolder/test.pdf HTTP/1.1\r\n Host: s3-us-west-2.amazonaws.com\r\ に送信しました。 n
今回は、リクエストは応答なしでハングします。エラーメッセージは表示されず、ソケットは通常どおり接続され、サーバーの IP が表示されます。
問題が発生している可能性のある提案や情報をいただければ幸いです。ファイルが他のサイトで公開されている場合、明らかにGETコマンドはファイルのダウンロードに機能しますが、http/1.1 GETコマンドでこの種の問題に遭遇した人はいますか? リンクを入力して、ブラウザで AWS S3 からファイルにアクセスできます。
html - Transfer-Encoding: チャンクを静的ファイルに使用することは良い考えですか?
サーバーが .html ファイルを取得して送信する、通常の静的サイトがあります。
Transfer-Encoding: chunked
動的サーバー ページの重要性は理解しています。それが目的で設計されたからです。スピードアップはかなり信じられないほどです。しかし、静的ファイルでも同じ速度向上ですか? ファイルがネットワーク経由で到着すると、ブラウザーは を使用するリクエストですでにプログレッシブにレンダリングおよびフェッチしますか?Content-Length
非常に巨大な HTML (100 ページの範囲のドキュメント) があるので、プログレッシブな HTML 処理が重要になります。(WHATWG がモノリシックな単一ページの HTML5 仕様を提供する方法に似ています。)
ios - NSURLConnection 応答の expectedContentLength -1
*
注: このトピックにはいくつかのリンクがありますが、うまくいきませんでした。新しいものをここに投稿する必要があります。
*
基本的に、UIProgressView を表示して、Web サービスからフェッチされているデータを表示しようとしています。ここでの問題は、アプリケーションから呼び出すほとんどすべてのサービスの expectedContentLength を取得していて、応答ヘッダーにContent-Lengthが含まれていることです。しかし、Web サービスの応答の 1 つで、expectedContentLength が返されず、代わりに常に -1 が返されます。
以下は、2 つの異なる Web サービス応答に対して取得する応答ヘッダーです。
- コンテンツの長さを取得する応答ヘッダー (サービスからのデータはそれほど大きくありません)
- コンテンツの長さを取得できない応答ヘッダー。(応答には膨大なデータが含まれており、 JSONデータのみをダウンロードするファイルはありません)
上記のサービス レスポンスには膨大なデータが含まれています。高度な残りのクライアントのクロムの拡張機能で応答をテストすると、「Transfer-Encoding」= chunked; の次の応答ヘッダーが得られます。
次のリンクを使用しましたが、どれも役に立ちませんでした: Link1、 Link2、 Link3
私を助けてください。ありがとう!
更新されたコード: サーバー側で Content-Lenth ヘッダーを設定した後、Advanced rest client chrome's extension のContent-Length ヘッダーで有効な応答を得ました。
しかし、クライアント側 (つまり、iOS アプリケーション) では、まだ Content-Length ヘッダーを取得していないため、expectedContentLength 値を取得できません。私はまだ "Transfer-Encoding" = Identity; を取得しています。私の側の応答ヘッダーに。次のように、リクエストに Accept-Encoding ヘッダーも設定しました。
[req setValue:@"identity;q=0" forHTTPHeaderField:@"Accept-Encoding"];
いずれかの側(サーバー/クライアント)で行うべきことは他にありますか?
php - PHPを使用して残りのWebサービスでヘッダーのコンテンツ長が取得されない
rest を使用して iOS アプリケーション用の Web サービスを作成しました。Content-Length ヘッダー フィールドが必要です。「Advanced Rest Client」クロムの拡張機能でテストしたところ、正常に動作しましたが、ios アプリケーションが Content-Length を取得できませんでした。Content-Length が Transfer-Encoding を取得する代わりに - 「アイデンティティ」
Advanced Rest Client拡張機能からの次の応答を確認してください
クライアント側の ios アプリケーションからの応答
php - Apache での転送エンコーディング
転送エンコーディングに関していくつか質問があります。
-> 現在、バックエンド スクリプトには約 500 ミリ秒かかります。HTML はさまざまな部分/セクションで生成されます。それで、チャンクを介してデータを送信すると、ページの応答性が向上するはずですが、その推論は正しいですか?
-> PHP のこの "Transfer-Encoding: chunked" ヘッダーから。各セクションの後に、flush() を追加してデータをチャンクで送信できることがわかりました。Apache でこの手法を使用すると、転送エンコーディングの見出しが表示されます。チャンクが追加されました。サーバー、つまり、コンテンツの長さが特定のサイズを超える場合はApacheに追加し、そのデータを1つのチャンクで送信します。
前もって感謝します、ニテシュ