这些 URL 语法有什么区别?

What is the difference between these URL syntax?

客户向我发送了一个 hyperlink 到 Tableau Public link。当我尝试打开它时,出现 404 异常。我回信给客户,但对方告诉我 link 工作正常。我访问了他的个人资料页面并能够在那里打开演示文稿,但最终运行的 URL 与原来无法运行的 link.

略有不同。

这是原 link

背后的匿名 URL

https://public.tableau.com/profile/[client_name]%23!/vizhome/Project-AirportDelay/FlightPerformancesinUSA?publish=yes

这是个人资料页面上的URL:

https://public.tableau.com/profile/[client_name]#!/vizhome/Project-AirportDelay/FlightPerformancesinUSA

我看到的唯一区别是 ?publish=yes%23!。我尝试将前者 ?publish=yes 附加到工作 URL,它仍然可以正常工作。所以我怀疑它与 %23!#! 的另一个区别有关。第一个是否可以工作,因为他正在从他可能登录到 Tableau Public 的计算机上打开它?这些语法之间有什么区别?关于为什么原来的 hyperlink 可能不起作用的任何想法?

出于明显的隐私原因,我无法提供全部 URL。

基本的样子URL pattern for passing filters?publish=yes

%23#

的 URL encoded representation

权限组件启动后的第一个#fragment component。如果 # 应该是路径组件或查询组件的一部分,它必须被百分比编码为 %23.

由于 # 是保留字符,这些 URI aren’t equivalent:

http://example.com/foo#bar
http://example.com/foo%23bar

有无数种方式可以使 URI 引用变得错误。罪魁祸首通常是某个软件,例如文字处理器,有人在其中粘贴了正确的 URI,而该软件错误地对其进行了百分比编码(可能假设用户没有粘贴 real/correct URI)。

将浏览器地址栏中的 URI 复制粘贴到纯文本文档中应该始终可以正常工作。