Closed Bug 19200 Opened 25 years ago Closed 25 years ago

Strange (broken) redirect tag mis-interpreted

Categories

(Core :: Layout, defect, P3)

x86
Windows NT
defect

Tracking

()

VERIFIED DUPLICATE of bug 19917

People

(Reporter: jhreingold, Assigned: gagan)

References

()

Details

The URL http://www.mwave.com/ uses a redirect in its HTML to redirect you to
another place. The tag is:

meta http-equiv="refresh" content="1; URL=//direct.mwave.com/mwave/home.hmx?"

(leading and trailing pointies were removed to not confuse browsers). I believe
that the "URL=//" nonsense is incorrect syntax BUT Netscape 4.7 (and Internet
Destroyer 5) manage to interpret it and direct you to
http://direct.mwave.com/mwave/home.hmx?

Mozilla will instead redirect you to
http://www.mwave.com//direct.mwave.com/mwave/home.hmx?
(which is obviously not where I intended to end up).

So while I think this is bad HTML, users expect bug-for-bug compatability with
current browsers.
Assignee: rickg → gagan
Gagan -- I think I noticed that you're supposed to get the URL redirect bugs. If
not, can you please reassign it?
Common sense says that if something that is meant to be interpreted *as a URL*
starts with "//" then all that is necessary is to add a default URL scheme
("http:" here) and away you go.

It certainly makes sense to prepend "http:" as the default scheme before "//"
in any context where the "//" could not be the beginning of a UNC filespec.

And in this case, UNC filespecs are irrelevant, and "http:" is the only
possibility: <meta http-equiv=  ... > rather does imply "http:" URLs.

This could be required by a standard. If so, it would be the same standard that
governs the use of relative URLs like "../img/background.gif" and "/index.html"
within an HTML document.

I believe that section 5 of RFC 2396 "Uniform Resource Identifiers (URI):
Generic Syntax" <URL:http://www.ietf.org/rfc/rfc2396.txt> (updating RFC 1808
"Relative Uniform Resource Locators") applies here.

Quoting from near the beginning of section 5:

>   The syntax for relative URI takes advantage of the <hier_part> syntax
>   of <absoluteURI> (Section 3) in order to express a reference that is
>   relative to the namespace of another hierarchical URI.
>
>   relativeURI   = ( net_path | abs_path | rel_path ) [ "?" query ]
>
>   A relative reference beginning with two slash characters is termed a
>   network-path reference, as defined by <net_path> in Section 3.  Such
>   references are rarely used.

Rarely used, but apparently legal.
Yes, this is legal, but the current urlparser does not recognize this as a
crippled absolute url. Also it is not correctly interpreted as a relative url.
This can be verified with urltest -abs /

One of the first testcases shows this problem. I hoped we could live with that,
but apparently we can't.
bug 19917 addresses this problem in general
*** This bug has been marked as a duplicate of 19917 ***
Status: NEW → RESOLVED
Closed: 25 years ago
Resolution: --- → DUPLICATE
Status: RESOLVED → VERIFIED
Agreed. Marking verified dup of 19917.
SPAM. HTML Element component deprecated, changing component to Layout. See bug
88132 for details.
Component: HTML Element → Layout
You need to log in before you can comment on or make changes to this bug.