【发布时间】:2013-12-31 01:26:30
【问题描述】:
我正在构建一个带有友好 URL 的单页 Web 应用程序。例如,对于聊天,您可以请求 /chat/roomname 或 /chat/roomname2 连接到不同的聊天室。然而,由于这是一个 SPA,这两者都会导致相同的 HTML 内容。
是否可以告诉浏览器将两个页面缓存为一个页面(例如,转到 /chat/roomname 也会在浏览器中缓存 /chat/roomname2),或者会产生类似效果的东西?这样 HTML 内容可能会很大,并且只需要加载一次。
或者我可以做 /#/chat/roomname 或类似的,但如果上述可能的话,我不希望这样做。
【问题讨论】:
-
这通常由服务器端代码处理,它不是你所追求的缓存,它只是 url 重定向。
-
如何将您的 URL 结构更改为
/chat?roomname=1。这将缓存/chat,然后您可以灵活地更改房间名称 -
@zzzzBov,但这不是我想要的。如果 /chat/roomname2 重定向到 /chat/roomname 看起来会很奇怪,即使它们不是同一个东西。
-
@jibsales,我实际上很确定它不会被缓存为同一页面。你有那个来源吗?
-
@KMorrow,我不应该说重定向,我应该说 url 重写。对于 LAMP 堆栈之类的东西,您可以使用
.htaccess文件将请求更改为针对每个请求指向index.php之类的东西,然后让 php 处理页面。
标签: javascript html http caching single-page-application