2013-10-30 99 views
0

只有在更新文件時,將文件內容從服務器發送到瀏覽器的機制是什麼有條件地從服務器向瀏覽器發送文件內容

例如,我有一個文件abc.bin在服務器上,將定期更新。每次文件更新/修改時,服務器都必須將內容發送到瀏覽器。有什麼方法可以做到這一點?

+0

如果用戶在已經下載最新版本後訪問下載鏈接,是否要將文件推送到瀏覽器或者是否要重定向到網站? – schlingel

+0

我想將文件「推」到瀏覽器,而不是重定向。 – ArthurN

+1

查看HTTP Cache標題。你將會對「Last-Changed」和「IF-Modified-Since」感興趣。 –

回答

1

您可以選擇編寫一個輪詢最新版本號的腳本,並將其與客戶端的最新版本號進行比較。如果發現它通過隱藏的iframe或類似的東西下載文件。

或者您使用一些基於網絡套接字的解決方案。例如。 Pusher提供這樣的服務。

在設計的移動應用程序中被稱爲推送通知。 - >使用術語來查找更多信息。

+0

該文件僅存在於服務器上。瀏覽器/客戶端只需要文件的內容。我使用JavaScript中的EventSource閱讀了服務器發送的事件通知,但顯然這隻能發送文本通知,而不是數據。 PHP/JavaScript中是否有類似的方法可以發送數據? – ArthurN

+0

如果您的數據是某種ASCII(如XML或JSON),則Ajax可以直接使用。如果你想處理二進制數據,它取決於你有什麼數據,但也許這會幫助你:http://stackoverflow.com/questions/1645847/ajax-binary-response – schlingel

+0

我認爲Ajax是由事件瀏覽器/客戶端(糾正我,如果我錯了)。在我的方案中,事件在服務器上(文件被更新)。 – ArthurN

相關問題