![]() |
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 |
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. |
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.