繁体   English   中英

浏览器缓存是否了解javascript xmlhttp请求?

[英]Is browser cache aware of javascript xmlhttp requests?

当我使用javascript中的GET请求获取页面时,浏览器是否以与单击链接或在地址栏中键入链接时相同的方式对其进行缓存?

如果没有,由于我已经获取了页面,是否可以通过编程方式将其添加到浏览器缓存中?

当浏览器获取网页时,它也在使用GET请求。 尽管没有规范化其工作方式的规范,但所有GET请求都有可能通过浏览器中的相同缓存机制。

除了仅请求资源并让浏览器的缓存执行其正常工作外,没有任何编程方式可以向浏览器自己的缓存添加内容。 如果您想知道是否所有常见的浏览器都将以这种方式缓存它,那么您需要确保正确设置了服务器端标头设置(以允许对其进行缓存),然后测试每个浏览器以确保像你要。

如果您停留在同一页面中,并且要确保同一页面中的请求不止一次,则可以在该页面的javascript代码中实现自己的缓存。 您只需在第一次请求时将结果存储在javascript变量中,然后您实现的用于获取该资源的函数便会检查您自己的本地存储对象,以查看该资源是否已在此处。 如果没有,它将通过GET请求,然后保存结果。 您可以制作一个简单的版本,将其硬编码到一个特定的资源,或者制作一个更通用的版本,以保存URL和结果以及时间戳,并实现更典型的缓存行为。

如果希望跨页面缓存数据,并且测试发现内置浏览器缓存不足,则可以使用本地存储来存储数据(可能带有时间戳),然后在请求之前检查本地存储带有GET请求。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM