問題タブ [chunked]
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.
.net - 安全な場所 .NET から大容量の再開可能なダウンロードを作成する方法
はじめに、私は .NET コーダーではありませんが、部分的な機能を得るために、チャンク データの読み取りと書き込みを使用する technet の chunkedfilefetch.aspx スクリプトを変更し、ファイル転送を実行するストリーム メソッドを使用して、途中までやり遂げました。
これは最大 2GB のファイルでうまく機能し、現在は完全に機能しています。しかし、再開できない問題が 1 つだけあります。
fetch.aspx という元のコードを使用して、URL を介して orderNUM を渡します。fetch.aspx&ordernum=xxxxxxx 次に、注文番号に従ってデータベースからファイル名/場所を読み取り、Webroot の下ではない安全な場所からそれをチャンクします。
これを再開可能にする方法が必要です。インターネットと大きなファイルの性質上、人々は常に切断され、中断したところから再開したいと考えています。しかし、私が読んだ再開可能な記事はすべて、ファイルが webroot 内にあると想定しています。http://www.devx.com/dotnet/Article/22533/1954すばらしい記事でうまく機能しますが、安全な場所からストリーミングする必要があります。
私はまったく .NET コーダーではありません。せいぜい、コールドフュージョンを少し行うことができます。これを行うためにハンドラーを変更するのを手伝ってくれる人がいれば、本当に感謝しています。
要件:
- 正常に機能し、上記のコード スニペットをストリーミング ダウンロードのベースとして使用する、動作中の fetch.aspx スクリプトがあります。
- ダウンロード ファイルは 600 MB と大きく、ウェブルート以外の安全な場所に保存されます。
- ユーザーは fetch.aspx をクリックしてダウンロードを開始するため、失敗した場合は再度クリックすることになります。ext が .ASPX で、送信されるファイルが AVI の場合、それをクリックすると .AVI ext にマップされた IHTTP ハンドラが完全にバイパスされるため、混乱します。
- 私が理解していることから、ブラウザーは etag 値とファイルの変更日を読み取って照合し、それらが同じファイルについて話していると判断し、その後の受け入れ範囲がブラウザーと IIS の間で交換されます。このダイアログは IIS で発生するため、ハンドラーを使用してインターセプトし、それに応じて応答する必要がありますが、リンクをクリックすると、ハンドラーが AVI フィールドにある必要がある ASPX ファイルに送信されます。また、私を混乱させます。
etag、accept-range を含む初期 HTTP 要求ヘッダーを通常の .ASPX ファイルに要求する方法があれば、それらの値を読み取ることができ、accept-range と etag が存在する場合は、そのバイト値でチャンクを開始できますか? しかし、IIS レベルで失われているように見えるため、http 要求ヘッダーを転送する方法が見つかりませんでした。
URL 文字列で渡される OrderNum は一意であり、ETag として使用できます
/li>ファイルは、サイズのために再開可能でチャンクアウトする必要があります。
- ファイル拡張子は .AVI であるため、その周りにハンドラーを記述することができます。
- IIS 6.0 Web サーバー
私はコードを読み、読み、ダウンロードしてきましたが、元のファイルが webroot の外部からストリーミングされているという私の状況を満たしている例はありません。これらの httphandlers のハンドルを取得するのを手伝ってください :)
php - Any way to chunk gzip with Apache and PHP
I have a web application on a site that takes a while (~10 seconds) to complete a portion of the page near the bottom - it has been as optimized as it can be, and caching is not an option.
We have compression enabled on the server via an .htaccess directive SetOutputFilter DEFLATE
the problem is this causes the whole page to be held until completion before it starts outputting to the user, this is not optimal as the user sees nothing until the page completes.
I have also tried it via the php ob_start("ob_gzhandler");
method.
Currently I have a <FilesMatch >
in my .htaccess restricting this specific script from being compressed.
Basically my question is this - Is there a way to say chunk gzip or deflate so that the user gets it in pieces, so they can see that the page has begun loading?
http - チャンク エンコーディングと content-length ヘッダー
content-length ヘッダーを設定し、チャンク転送エンコードを使用することは可能ですか? そうすることで、チャンクを使用するときにクライアント側で応答の長さがわからないという問題が解決しますか?
私が考えているシナリオは、転送するファイルが大きく、そのサイズを決定するのに問題はないが、大きすぎて完全にバッファリングできない場合です。(チャンクを使用していない場合は、応答全体を最初にバッファリングする必要がありますか?そうですか??)
ありがとう。
c# - HTTPチャンク転送コーディングとMFC
MFCで記述されたProprieteryClient-Serverアプリケーションがあります。私のクライアント以外のクライアントはサーバーと通信しません。安全上の理由から、HTTPを使用しています。
わかるまで、content-lengthを使用して、応答本文が終了するクライアントを記述しました。現在、長さが事前にわからず、データをバッファリングできない状況になっています。私はチャンク転送コーディングがあることをRFCで読みました。問題は、rfc( http://www.w3.org/Protocols/rfc2616/rfc2616-sec3.html#sec3.6 section 3.6.1)で定義されているフォーマットを実装したくないということです。
問題は、独自のチャンク形式を使用してからMFCクラスがそれを解析しようとすると、RFCで定義されている形式ではないため、エラーが発生することです。
応答ヘッダーに「チャンク転送コーディング」を入れて、独自のチャンクフォーマットを使用することは可能ですか?つまり、MFCクラスは、応答ヘッダーに「チャンク転送コーディング」が表示されている場合、rfcのチャンクフォーマットの定義に従って本文を解析しようとしますか?
android - httpsのチャンクされたプッシュサーブレットのInputStreamを取得するには?
https チャンク プッシュ サーブレットに接続して入力ストリームを取得する方法を見つけるために 3 日間を費やしました。との接続はHttpsURLConnection
機能しHttpClient
ますが、プログラムされたすべてのコードで、このサーブレットの InputStream を取得しようとすると、この行がブロックされます! エラーも例外も何もありません。デバッガーはこの行でのみ停止して待機します。
サーブレットのヘッダーに何もないことを知っており、これがメソッドのブロックContent-Length
の理由であることを知っています。getInputStream
URLConnection
しかし今、私には他にアイデアがありません。InputStream
サーブレットからこれを取得するのを手伝ってくれる人はいますか? すべての接続は問題なく、InputStream の取得のみが失敗HttpsURLConnection
し、理由がわかりません。HTTPClient
apache-flex - Transfer-Encoding がチャンク化された Flex/Flash URL の読み取り
Flex から Transfer-Encoding: チャンクを持つ URL を読み取る際に問題があります。これは、FLex がサーバーがチャンク転送では送信されない終了シグナルを送信するのを待機しているためです...
http - HTTP ヘッダーが送信されない場合に、チャンク エンコーディングからコンテンツ データの長さを判断する方法
ヘッダーが送信されず、代わりにヘッダーを受信した場合、コンテンツデータの長さを決定する方法はTransfer-Encoding: chunked
?
android - Web サービスからチャンク転送プロトコルの受信に成功した Android 開発者はいますか?
チャンク化されたデータを取得するために、いくつかのクラスの実装に苦労しましたが、成功しませんでした。以下は、問題のある単純化されたコード モジュールです。Web をサーフィンした後、過去に問題があったようです (2009 年、2010 年; バージョン 1.1、1.5)、今では解決されているはずです。このプロトコルの Android プラットフォームでの決定的な成功は見たことがありません。
ヘルプ!
無効なトークンを入力すると、何らかの応答が表示されます。Web サービスは、アプリケーション エラー メッセージで応答します。ただし、有効な URL とトークンはチャンクされたプロトコルの検出で応答するだけで (isChunked() は true を返します)、何も読み取られず、何もタイムアウトしません。
コマンド ラインから CURL を使用して発行されたまったく同じ URL は、期待どおりに機能し、連続したコンテンツ (Web サービスから公開されたデータ) を表示します。
受信ストリームを強制するために行末を追加するなど、Web サービス側のハックはありますか??
curl - 応答に`Set-Cookie`ヘッダーがないのはなぜですか?
ブラウザが自分のWebサイトからCookieを取得できないことがあるのでcurl
、ヘッダーを確認するために使用します。情報は次のとおりです。
しかし、ブラウザを使用IE6
しFirefox
てアクセスすると、ヘッダーは次のようになります。
Set-Cookie
問題のあるヘッダーがないことがわかります。私のサーバーはJetty 6.1.26
です。なぜそれらは異なる応答ですか?どこが間違っているのですか?そしてそれを修正する方法は?
java - Java:チャンクされたコンテンツを正しくダウンロードするには?
HTTP 応答が "Transfer-Encoding: Chunked" であるファイルをダウンロードする必要があります。これは、DataInputStream に新しいバイト バッファーを割り当てるために «getContentLength» を実行できないためです。正しく行う方法を教えてもらえますか?
コード例は非常に単純です。
} catch(IOException ex) { Logger.getLogger(WhatCDWork.class.getName()).log(Level.SEVERE, null, ex); }