發表日期 2000/12/18
更新日期 2004/03/20
不能一次下載超過 2 個檔案?為什麼同一時間內,每次最多只能下載 2 個檔案?
適用範圍: Internet Explorer
提醒:
算是 HTTP 的好心限制吧...
疑問:
IE 沒有辦法一次下載超過 2 個檔案?每次最多只能 Download 2 個檔案?
回答:
這是正常的,因為 WinInet (Win
32 Internet Functions)會限制在同一時間內、對單一HTTP
server
的最大同時連線數目,如果超過了最大連線上限,必須等前一個連線結束之後,後面這個新的連線才能成立。(不是
Server 限制你,這是
Client 端的 wininet api 的限制)
其實,這並不是 IE 的限制,嚴格來講,跟 IE 沒有關係,而是 HTTP 1.0 或
1.1 規格的限制。
WinInet
有這樣的限制,是為了要遵循 HTTP 的標準規格(RFC2068),HTTP
1.0 同時間允許 4 個連線,HTTP
1.1 則是 2 個。(不是所有的 RFC 文件都是
Internet 標準,但是 Internet 標準一定是在 RFC 規範中)
當然可以透過修改 registry
來自行更改 WinInet 的組態,不過,經過變更之後,wininet
自然也就不符合標準的 HTTP 1.0 或
1.1 規格,所以要不要讓 WinInet 遵循
HTTP 1.1的標準,由你自己決定。
到:
HKEY_CURRENT_USER\Software\Microsoft\
Windows\CurrentVersion\Internet Settings
新增(皆為 DWORD值)或修改以下機碼,將其預設值改成你希望的最大連線數值:
MaxConnectionsPerServer (預設值是 2)
HTTP 1.1 所限制的對單一 Http server
同時最大連線數
MaxConnectionsPer1_0Server (預設值是 4)
HTTP 1.1 所限制的對單一 Http server
同時最大連線數
其實,對同一個 Http server
而言,你同步一起下載好幾個檔案,並不能加快下載的速度,因為你的頻寬是固定不變的,同步下載的數量越多,反而會降低下載速度。(Download
的速率是取決於 Client 端「同步」下載的數量)
如果你對 HTTP 1.1 的規格有興趣,可以閱讀 RFC 2068
號文件,裡面有很詳盡的說明,這一部分已經超出了我 Windows
作業系統教學的範圍之外了,有興趣請自行閱讀,我就不再說明了。
關於 RFC 文件,你可以參考以下網址:
http://www.cis.ohio-state.edu/hypertext/information/rfc.html
關於 RFC 2068 的內容:(第8章 Connections,Page 45)
http://www.cis.ohio-state.edu/htbin/rfc/rfc2068.html
意見或問題請寄至:

版權所有,本站文、圖未經授權,請勿任意轉載與節錄,作者:車成斌

|