我正在开发一个需要脱机工作的Chrome应用程序,即我希望它使用App Cache,而不是尽可能地向服务器发送请求。但是,如果有必要点击服务器,那么我想包含几个字节的数据(因此服务器可以收集和分析一些统计信息,例如,单独的缓存提供了多少先前的请求)。 / p>
我无法在URL查询中发送数据字节,因为这会破坏缓存(这是一种众所周知的技术,可以确保缓存被绕过 - 正是我不想做的事情。)
我无法使用POST请求,因为这也会破坏缓存。
我已经考虑过将数据包含在标题中,但我不确定如何,并且不确定这是否会起作用,因为我发现的有关此想法的所有建议都反对它。我不想陷入完全没有记录的东西的陷阱,以防万一它将来停止工作(我不确定今天会有什么用)。
我可以在GET请求中包含对App Cache(特别是在Chrome中)完全没有影响的数据,但是当请求到达目的地时,服务器是否可以使用该数据?
答案 0 :(得分:0)
见上面的评论;这个问题与Chrome Apps无关。它更多的是关于使用App Cache的webapp。
将正常的网络请求与报告功能分离可能会有所帮助。您正试图在正常请求上搭载统计数据,但似乎没有必要这样做。此外,对于偶尔完全缓存的客户端,您将永远不会听到该客户端,因为报告永远不会发生。因此,即使在最好的情况下,设计也会不稳定。
相反,您可以在每次发出可缓存的请求时递增计数器,并将其保存在localStorage中的持久性位置。然后定期将其报告给非缓存目的地。然后,您可以从报告的总数中减去您在Web服务器上接收的流量(代表未缓存的请求)(代表所有请求,缓存与否)。区别在于缓存请求。