在 URL 中间使用 /#/

Use of /#/ in the middle of a URL

我最近遇到一个 Web 应用程序,其 URL 具有以下形式:

https://URL.com/page/uuid/#/anotheruuid/area?action=whatever

我对 URL 中 # 的用法感到困惑。通常,井号是为片段标识符保留的,它位于 URL 的末尾。这里有什么用,目的是什么?

这通常用于 SPA (Single Page Applications)。目的是能够在不同页面之间移动而无需重新加载整个页面。这是客户端框架/库能够正确路由应用程序的信息。

例如最常见的框架之一 - Angular - 支持两种位置策略:

  1. HashLocationStrategy 其中 URL 看起来像 http://localhost/#/product
  2. 路径位置策略 其中 URL 看起来像 http://localhost/product

(source)