首頁 後端開發 php教程 Nginx支援用戶多執行緒下載和斷點續傳

Nginx支援用戶多執行緒下載和斷點續傳

Jul 30, 2016 pm 01:31 PM
filter http nginx range

RFC2616規範中定義了range協議,它給出一種規則使得客戶端可以再一次請求中只下載完整文件的一部分,這樣就支援客戶端在開啟多線程的同時下載一份文件,其中每個執行緒僅下載文件的一部分,最後組合成完整的文件,range也支援斷點續傳,只要客戶端記錄了已下載部分文件偏移量,就可以要求伺服器從斷點處發送文件之後的內容。
Nginx對range協定支援的非常好,因為range協定主要增加了一些HTTP頭部處理流程,以及傳送檔案時的偏移處理。 Nginx設計了HTTP過濾模組,每個請求可以由許多HTTP過濾模組處理,而http_range_header_filter模組就是用來處理HTTP請求頭部range部分,它會解析客戶端請求中的range頭部,最後告知在發送HTTP回應包體時將會呼叫到ngx_http_range_body_filter_module模組,該模組會依照range協定修改指向檔案的ngx_buf_t緩衝區的file_pos和file_last成員,以此實作僅傳送一個檔案的部分內容到客戶端。
其實,支援range協定對我們來說很簡單,只需要在傳送前設定ngx_http_request_t的成員allow_ranges變數為1即可,之後的都會由HTTP框架完成。 eg:
r->allow_ranges = 1;
這樣,我們就支援多執行緒下載和斷點續傳。

版權聲明:本文為部落客原創文章,未經部落客允許不得轉載。

以上就介紹了Nginx支援用戶多執行緒下載和斷點續傳,包括了方面的內容,希望對PHP教學有興趣的朋友有所幫助。

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

tomcat伺服器怎麼能讓外網訪問 tomcat伺服器怎麼能讓外網訪問 Apr 21, 2024 am 07:22 AM

tomcat伺服器怎麼能讓外網訪問

thinkphp怎麼運行 thinkphp怎麼運行 Apr 09, 2024 pm 05:39 PM

thinkphp怎麼運行

Welcome to nginx!怎麼解決? Welcome to nginx!怎麼解決? Apr 17, 2024 am 05:12 AM

Welcome to nginx!怎麼解決?

nodejs專案怎麼部署到伺服器 nodejs專案怎麼部署到伺服器 Apr 21, 2024 am 04:40 AM

nodejs專案怎麼部署到伺服器

phpmyadmin怎麼註冊 phpmyadmin怎麼註冊 Apr 07, 2024 pm 02:45 PM

phpmyadmin怎麼註冊

docker容器之間如何通信 docker容器之間如何通信 Apr 07, 2024 pm 06:24 PM

docker容器之間如何通信

html檔案怎麼產生網址 html檔案怎麼產生網址 Apr 21, 2024 pm 12:57 PM

html檔案怎麼產生網址

如何使用C++實作HTTP流傳輸? 如何使用C++實作HTTP流傳輸? May 31, 2024 am 11:06 AM

如何使用C++實作HTTP流傳輸?

See all articles