斌斌小站

記事簿-Internet Explorer

發表日期 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

 

 

 

 


意見或問題請寄至:
This is an image
版權所有,本站文、圖未經授權,請勿任意轉載與節錄,作者:車成斌

www.barefoot.idv.tw

www.binbin.net !

(c) 2004, All rights reserved by  Che Chengbin

This is an image