只有在更新文件時,將文件內容從服務器發送到瀏覽器的機制是什麼?有條件地從服務器向瀏覽器發送文件內容
例如,我有一個文件abc.bin
在服務器上,將定期更新。每次文件更新/修改時,服務器都必須將內容發送到瀏覽器。有什麼方法可以做到這一點?
只有在更新文件時,將文件內容從服務器發送到瀏覽器的機制是什麼?有條件地從服務器向瀏覽器發送文件內容
例如,我有一個文件abc.bin
在服務器上,將定期更新。每次文件更新/修改時,服務器都必須將內容發送到瀏覽器。有什麼方法可以做到這一點?
您可以選擇編寫一個輪詢最新版本號的腳本,並將其與客戶端的最新版本號進行比較。如果發現它通過隱藏的iframe或類似的東西下載文件。
或者您使用一些基於網絡套接字的解決方案。例如。 Pusher提供這樣的服務。
在設計的移動應用程序中被稱爲推送通知。 - >使用術語來查找更多信息。
該文件僅存在於服務器上。瀏覽器/客戶端只需要文件的內容。我使用JavaScript中的EventSource閱讀了服務器發送的事件通知,但顯然這隻能發送文本通知,而不是數據。 PHP/JavaScript中是否有類似的方法可以發送數據? – ArthurN
如果您的數據是某種ASCII(如XML或JSON),則Ajax可以直接使用。如果你想處理二進制數據,它取決於你有什麼數據,但也許這會幫助你:http://stackoverflow.com/questions/1645847/ajax-binary-response – schlingel
我認爲Ajax是由事件瀏覽器/客戶端(糾正我,如果我錯了)。在我的方案中,事件在服務器上(文件被更新)。 – ArthurN
如果用戶在已經下載最新版本後訪問下載鏈接,是否要將文件推送到瀏覽器或者是否要重定向到網站? – schlingel
我想將文件「推」到瀏覽器,而不是重定向。 – ArthurN
查看HTTP Cache標題。你將會對「Last-Changed」和「IF-Modified-Since」感興趣。 –