Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   HTML (http://www.velocityreviews.com/forums/f31-html.html)
-   -   Parsing relative URLs (http://www.velocityreviews.com/forums/t617931-parsing-relative-urls.html)

carlbernardi@gmail.com 06-01-2008 05:37 PM

Parsing relative URLs
 
Hi,

While parsing relative URL segments "../" to hierarchical segments of
the absolute URL , I notice that the <a> tag and the <link> tag do
this differently. Take the following absolute and relative URLs:

absolute URL: http://www.a.com/a/b
relative URL: ../../b/c.css

The <a> tag resolves this to:

http://www.a.com/b/c.css

However the <link> tag resolves this to:

http://www.a.com/a/b/c.css



It appears that all other forms of resolving URLs are equal between
both tags however, I have been trying to find the RFC specification on
this but have had no luck. This document http://www.ietf.org/rfc/rfc2396.txt
does not contain any information regarding the <link> tag.

Is anyone here familiar with this or know where I could obtain more
information.

Thanks,


Bandito



http://www.gaihosa.com

Lars Eighner 06-01-2008 06:19 PM

Re: Parsing relative URLs
 
In our last episode,
<ef504f7e-5e47-48a1-9540-2e0eb03f98a4@m44g2000hsc.googlegroups.com>, the
lovely and talented carlbernardi@gmail.com broadcast on alt.html:

> Hi,


> While parsing relative URL segments "../" to hierarchical segments of
> the absolute URL , I notice that the <a> tag and the <link> tag do
> this differently. Take the following absolute and relative URLs:


> absolute URL: http://www.a.com/a/b
> relative URL: ../../b/c.css


But this is nonsense. It is looking for the parent of the root,
but of course there cannot be one.

> The <a> tag resolves this to:


> http://www.a.com/b/c.css


> However the <link> tag resolves this to:


> http://www.a.com/a/b/c.css


In other words, some browser or another, presented with an absurdity, has
inconsistent error handling. Well, obviously, other than writing to the
authors of the browser about that, the solution would be not to write
relative URLs that are absurd.

> It appears that all other forms of resolving URLs are equal between
> both tags however, I have been trying to find the RFC specification on
> this but have had no luck. This document http://www.ietf.org/rfc/rfc2396.txt
> does not contain any information regarding the <link> tag.


I don't think you will find many specs that deal with error recovery. There
are so many possible errors that the point of defining the right way would
be lost in all the stuff about what to do when people do things the wrong
way.

> Is anyone here familiar with this or know where I could obtain more
> information.


-
Lars Eighner <http://larseighner.com/> usenet@larseighner.com
Countdown: 232 days to go.


Harlan Messinger 06-01-2008 06:21 PM

Re: Parsing relative URLs
 
carlbernardi@gmail.com wrote:
> Hi,
>
> While parsing relative URL segments "../" to hierarchical segments of
> the absolute URL , I notice that the <a> tag and the <link> tag do
> this differently. Take the following absolute and relative URLs:
>
> absolute URL: http://www.a.com/a/b
> relative URL: ../../b/c.css
>
> The <a> tag resolves this to:
>
> http://www.a.com/b/c.css


Not in my test.

>
> However the <link> tag resolves this to:
>
> http://www.a.com/a/b/c.css
>


File /a/b/c.css:

body { color: red; }

File /b/c.css:

body { color: green; }

File /a/b/x.html:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>Relative URLs: Link vs. A</title>
<link rel="stylesheet" type="text/css" href="../../b/c.css">
</head>

<body>
<p>If the LINK tag resolves the relative URL
to http://localhost/b/c.css, this will be green.</p>
<p>If it resolves it to http://localhost/a/b/c.css,
this will be red.</p>
<p><a href="../../b/c.css">Click here</a></p>
</body>
</html>

In both Internet Explorer and Firefox, the page's text appears in green,
and the link leads to the file that reads

body { color: green; }

In other words, both the LINK and the A tags point--correctly--to
/b/c.css. Therefore, I think you made a mistake somewhere in your
experiment.


All times are GMT. The time now is 10:05 AM.

Powered by vBulletin®. Copyright ©2000 - 2013, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57