我有一個用於顯示價格的JSON文件。 JSON文件只刷新每30分鐘的服務器端,但是當客戶端刷新時,他只獲得相同的版本。有沒有辦法讓JSON文件有一個到期日期,然後重新下載它,而不必繼續下載它?如何緩存JSON響應?
0
A
回答
1
如果文件自瀏覽器存儲在其緩存中的日期以來沒有更改過,那麼您可以將服務器設置爲返回304 - 未修改的響應。基本上,當客戶端請求文檔時,它可以在請求頭中發送「If-Modified-Since」日期。如果該文件自該日期以來未更改,則服務器將響應304 - Not Modified響應,客戶端將使用緩存版本。
0
將這個在您通過AJAX調用你的PHP文件的頂部:
header("Cache-Control: max-age=1800");
header("Cache-Control: public", false);
這將讓瀏覽器緩存文件1800秒。
如果你正在使用jQuery,不要忘了打開緩存屬性:
$.ajax({url:"yourfile.php",cache:true})
相關問題
- 1. 緩存JSON響應
- 2. 如何緩存expressjs響應
- 3. 緩存響應
- 4. 緩存Json/Rest網絡響應
- 5. 緩存json響應使用凌空
- 6. Rails動作緩存和json響應
- 7. 如何在Django中緩存API JSON響應Tastypie
- 8. 如何在PHP中緩存JSON cURL響應?
- 9. GAE&響應緩存
- 10. 緩存HTTPS響應
- 11. 緩存XML響應
- 12. Retrofit響應緩存
- 13. WebSphere響應緩存
- 14. 緩存SOAP響應
- 15. 緩存API響應
- 16. 如何防止python urllib3緩存響應
- 17. 如何防止Alfresco webscript響應緩存
- 18. 如何緩存squpup.okhttp3中的響應
- 19. 如何刷新socket.gethostbyname響應的緩存?
- 20. 如何垃圾緩存HTTP 302響應
- 21. 如何緩存php soapclient響應?
- 22. 如何緩存異步模塊響應
- 23. 如何緩存Jersey的響應?
- 24. 如何停止org.springframework.web.client.RestTemplate緩存響應?
- 25. 如何緩存REST響應,Spring For Android
- 26. Angular $ http緩存:如何識別緩存響應vs實際$ http.get
- 27. webapp2如何刪除緩存控制:從響應頭無緩存?
- 28. 保存JSON響應
- 29. 如何在JQuery中存儲JSON響應?
- 30. 如何存儲JSON響應並保存到JSON文件
你可以將其存儲在的sessionStorage或localStorage的。儘管如此,你需要在它周圍放一點到期邏輯。也許存儲兩個密鑰,一個控制到期。 – Dismissile
有沒有辦法做到這一點PHP明智?或者我應該切換到jQuery的一切? – TheGuyWhoCodes
您需要研究HTTP服務器和PHP中的緩存控件。 – JAAulde