ホームページ >バックエンド開発 >PHPチュートリアル >Nginx はユーザーのマルチスレッド ダウンロードとブレークポイント再開ダウンロードをサポートします

Nginx はユーザーのマルチスレッド ダウンロードとブレークポイント再開ダウンロードをサポートします

WBOY
WBOYオリジナル
2016-07-30 13:31:241700ブラウズ

範囲プロトコルは RFC2616 仕様で定義されており、クライアントが 1 回のリクエストで完全なファイルの一部のみをダウンロードできるようにするルールを提供し、クライアントがマルチスレッドを有効にしながらファイルをダウンロードできるようにします。スレッドはファイルの一部のみをダウンロードし、最終的にそれを完全なファイルに結合します。クライアントがファイルのダウンロードされた部分のオフセットを記録している限り、後でコンテンツを送信するようにサーバーに要求できます。ブレークポイントからのファイル。
範囲プロトコルは主にいくつかの HTTP ヘッダー処理プロセスとファイル送信時のオフセット処理を追加するため、Nginx は範囲プロトコルを非常によくサポートしています。 Nginx は、多くの HTTP フィルタリング モジュールで処理できる HTTP フィルタリング モジュールを設計しました。 http_range_header_filter モジュールは、HTTP リクエスト ヘッダーの範囲部分を処理し、最終的にユーザーに通知します。 HTTP 応答を送信する前に、パッケージ本体の生成時に ngx_http_range_body_filter_module モジュールが呼び出され、範囲プロトコルに従ってファイルを指す ngx_buf_t バッファの file_pos および file_last メンバーが変更されます。ファイルの内容をクライアントに送信します。
実際、範囲プロトコルのサポートは非​​常に簡単です。送信する前に ngx_http_request_t メンバーのallow_ranges 変数を 1 に設定するだけで、残りは HTTP フレームワークによって完了します。例:
r->allow_ranges = 1; このようにして、マルチスレッドのダウンロードとダウンロードの再開がサポートされます。

著作権声明: この記事はブロガーによるオリジナルの記事であり、ブロガーの許可なく複製することはできません。

上記では、Nginx によるマルチスレッド ダウンロードとブレークポイント レジューム ダウンロードのサポートについて、内容の側面も含めて紹介しています。PHP チュートリアルに興味のある友人にとって役立つことを願っています。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。