Html 网页和SPA的缓存

Html 网页和SPA的缓存,html,single-page-application,browser-cache,http-caching,Html,Single Page Application,Browser Cache,Http Caching,我读过SPA(单页应用程序),了解到它的最大优点是可以节省网络流量,因为SPA在加载页面时会下载所有(至少大部分)应用程序资源 但我对此并不清楚——假设在我的index.jsp中,我指定了所有资源,并在加载index.jsp时下载了这些资源。现在,我的应用程序导航从index.jsp开始,因此为了进行导航,我提交了表单,其中包含action=“user.jsp” 现在,由于我已经提交了action=“user.jsp”,所以在提交表单时,我的web浏览器将向服务器发送请求,以获取user.jsp

我读过SPA(单页应用程序),了解到它的最大优点是可以节省网络流量,因为SPA在加载页面时会下载所有(至少大部分)应用程序资源

但我对此并不清楚——假设在我的
index.jsp
中,我指定了所有资源,并在加载
index.jsp
时下载了这些资源。现在,我的应用程序导航从
index.jsp
开始,因此为了进行导航,我提交了表单,其中包含
action=“user.jsp”

现在,由于我已经提交了
action=“user.jsp”
,所以在提交表单时,我的web浏览器将向服务器发送请求,以获取
user.jsp
如果我错了,请更正。或将从HTTP缓存中获取。但我们可以说,通过一些Apache设置(我在某个地方读到,这是可能的,但不知道如何做),我已经禁用了网页的HTTP缓存,然后将从服务器下载
user.jsp

如果有人能提供很好的见解,我们将不胜感激。基本上,我对以下事实感到困惑:
action=“user.jsp”
将导致对服务器的调用,而HTTP/browser可以缓存网页


注意:我无意中以访客用户的身份发布了我的问题,但现在无法删除,因此如果您有审核权限,请删除该问题以避免重复。

单页应用程序倾向于通过Javascript(通过AJAX)进行所有交互,而不是通过重新加载页面。因此,在SPA中,您的表单实际上没有有意义的
操作
,但它将使用JavaScript发送。考虑到Ajaxy页面会产生大量请求,仅仅节省一点流量不太值得切换到SPA,但从其他角度来看,这也应该是有意义的。@Pekka웃 好的,但是一个web应用需要不同的资源,比如HTML/JSP、CSS、JS、JSON等来下载,对吗?所以,SPA将在下载启动页面时第一次下载所有这些内容,然后为了呈现不同的视图、网页或功能,无需转到服务器,因为资源已经下载。至少这是我的理解,现在我更困惑了。我同意,为了获得一些动态数据,它可以对服务器进行AJAX调用并刷新页面内容。但是,要转到一个不同的屏幕,它需要它的HTML/JSP,对吗?它是从HTTP缓存加载HTML/JSP还是从服务器获取HTML/JSP?单页应用程序是一个应用程序,其中所有内容都保存在一个文档中,而无需重新加载。如果重新加载页面,则它不是SPA。是的,页面上的任何重大更改都必须以某种方式加载,无论是作为新页面加载,还是通过Ajax加载。SPA通过Ajax加载整个页面。