这些URL语法有什么区别?

时间:2018-05-27 17:06:27

标签: html url hyperlink http-status-code-404 tableau

客户端向我发送了一个指向Tableau Public链接的超链接。当我尝试打开它时,我得到了404异常。我写回了客户端,但同样被告知链接工作正常。我访问了他的个人资料页面并能够在那里打开演示文稿,但最终工作的URL与原始无效链接后面的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?这些语法有什么区别?关于为什么原始超链接可能不起作用的任何想法?

出于明显的隐私原因,我无法提供整个网址。

2 个答案:

答案 0 :(得分:1)

它看起来像基本的URL pattern for passing filters ?publish=yes

%23#

的网址encoded representation

答案 1 :(得分:0)

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

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

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

URI引用有多种方式可能会出错。罪魁祸首通常是一个软件,如文字处理器,有人粘贴正确的URI,软件错误地对其进行百分比编码(可能假设用户没有粘贴真实/正确的URI)。

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