2010-08-10 28 views
0

我正在寫一個移動應用程序,並且我無法從Yahoo!上下載冗長的文件。定期(大約每三分鐘)中止下載的服務器。移動應用程序通過相同的慢數據連接成功地從其他服務器下載冗長的文件。來自Yahoo!的HTTP標頭轉儲服務器是當服務器定義連接=關閉時,客戶端字節範圍請求是否工作?

D/AsyncDownloadFile(694):頭字段:{p3p = [policyref =「http://info.yahoo.co m/w3c/p3p.xml」,CP =「CAO DSP COR CUR ADM內容類型= [應用/八位字節流],內容類型= [應用/八位字節流],內容類型= [應用/八位字節流],內容類型= [應用/八比特組流] connection = [close] ,last-modified = [Fri,06 Aug 2010 14:47:50 GMT],content-length = [2000000],age = [ 0],server = [YTS/1.17.13], accept-ranges = [字節],日期= [星期六,2010年8月7日18時53分02秒 GMT]}

它顯示它定義連接= [關閉]。一個不同的(非雅虎)服務器定義connection = [keep-alive],並且我的移動應用程序成功從中下載。所以我有幾個問題:
是什麼導致Yahoo!服務器定期中止下載?我能做些什麼來避免週期性中止,或者我能做些什麼來恢復中止下載?當服務器定義connection = [close]時,是否考慮字節範圍的請求?

事情我已經閱讀:

事情我已經嘗試:

  • 我已經嘗試將http標題「Connection」字段設置爲「keep-alive」,但Yahoo!服務器響應是頭部「連接」字段設置爲「關閉」。
  • 我試着按照this question中描述的方法重新開始連接。即使來自Yahoo!的HTTP標頭服務器顯示它支持字節範圍請求並且內容範圍響應顯示正確(例如,內容範圍= [字節387924-1999999/2000000]),恢復的傳輸在文件開始處恢復不正確。我想知道是否由於連接= [關閉]設置。

因爲HTTP頭的主題對我來說比較新,所以對於常見陷阱的建議或警告是值得歡迎的。

[更新]我收到了Yahoo!的回覆。技術支持表示不支持字節範圍:「由於我們使用服務器池並且每個請求可能到達不同服務器,因此Yahoo! Web Hosting不支持Accept-range標頭,您會在響應中看到connection = [close]表明這一點的標題。「剩下的問題是是否可以避免定期下載墮胎。 (我試過請求連接=「保持活着」,但被忽略)。

+0

什麼您嘗試訪問的URL? – 2010-08-11 07:17:39

+0

該URL是http://eduneer.com/tangled/phenotypic/2010_03_3.dat 它是一個500,000個4字節整數的測試文件,用於遞增s如果中止並恢復,下載的測試文件的十六進制轉儲表明Yahoo!服務器在文件的開始處重新啓動,而不是在指定的字節範圍內恢復。 – gregS 2010-08-11 11:02:08

+0

我收到了Yahoo!的回覆。技術支持解釋字節範圍請求不被接受: 「雅虎虛擬主機不支持接受範圍頭,因爲我們使用一個服務器池並且每個請求可能到達不同的服務器,您將看到connection = [close]在響應標題中指出這一點。「 – gregS 2010-08-11 11:08:13

回答

0

我收到了Yahoo!的回覆。技術支持解釋字節範圍請求不被接受:「由於我們使用服務器池並且每個請求可能到達不同的服務器,因此Yahoo!虛擬主機不支持Accept-range標頭。您將會看到connection = [close]表示這個的響應標題。「

鑑於恢復下載是不可能的,我問是否有可能避免定期中止下載(例如,Connection = [keep-alive])。雅虎技術支持回覆:」該過程是通過該系統處理,目前還沒有解決辦法。」

雖然這些都不是我所希望的答案,我給信貸有關雅虎服務器行爲防守問題雅虎的技術支持。

相關問題