我读过有关 SPA(单页应用程序)的文章,了解到它们的最大优点是节省网络流量,因为 SPA 在加载页面时会下载所有(至少是大部分)应用程序资源。
但我对此并不清楚——假设index.jsp
我已指定所有资源并在加载时下载index.jsp
。现在我的应用程序导航从开始index.jsp
,因此对于导航,我提交了我的表单,其中有action="user.jsp"
现在,由于我已经action="user.jsp"
提交表单,所以我的网络浏览器将向服务器发送请求以获取user.jsp
。如果我错了,请纠正我。或者将从 HTTP 缓存中获取。但是,假设通过某些 Apache 设置(我读到过一些文章说这是可行的,但我不知道该怎么做)我禁用了网页的 HTTP 缓存,那么user.jsp
将从服务器下载。
action="user.jsp"
如果有人能对此提出好的见解,我将不胜感激。基本上,我对将导致对服务器的调用以及 HTTP/浏览器可以缓存网页的事实感到困惑。
答案1
HTTP POST 不会被浏览器缓存。HTTP POST(表单提交)的目的是将表单字段发送到服务器进行处理。浏览器无法知道服务器将如何响应此请求,因为它必须了解特定页面/表单的服务器端行为。在您的情况下,对 user.jsp 的请求不会被缓存,但 user.jsp 上引用的脚本、css 等可能会从浏览器缓存中出来,具体取决于服务器上如何为这些资源配置缓存。