Conner M.
Conner M.

Reputation: 2074

What is the difference between these URL syntax?

I was sent a hyperlink to a Tableau Public link by a client. When I tried opening it, I got a 404 exception. I wrote back to the client but was told by the same that the link was working fine. I visited his profile page and was able to open the presentation there, but the URL that ended up working was slightly different than the one behind the original, non-functioning link.

Here's the anonymized URL behind the original link

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

And here's the URL via the profile page:

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

The only differences I see are ?publish=yes and %23!. I tried appending the former, ?publish=yes, to the working URL, and it was still functional. So I suspect that it has to do with the other difference %23! vs. #!. Could the first work because he is opening it from his computer where he is likely logged onto Tableau Public? What's the difference between these syntax? Any ideas about why the original hyperlink might not be functional?

For obvious privacy reasons, I can't provide the whole URL.

Upvotes: 0

Views: 123

Answers (2)

unor
unor

Reputation: 96587

The first # after the authority component starts the fragment component. If the # should be part of the path component or the query component, it has to be percent-encoded as %23.

As # is a reserved character, these URIs aren’t equivalent:

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

There are countless ways how a URI reference could become erroneous. The culprit is often a software, like a word processor, where someone pastes the correct URI, and the software incorrectly percent-encodes it (maybe assuming that the user didn’t paste the real/correct URI).

Copy-pasting the URI from the browser address bar into a plain text document should always work correctly.

Upvotes: 0

aduguid
aduguid

Reputation: 3195

It looks like the basic URL pattern for passing filters ?publish=yes

and

%23 is the URL encoded representation of #

Upvotes: 1

Related Questions