URL结构、相对路径与绝对路径的处理技巧

      把URL说成是网址其实是很不严谨的说法,因为URL有很严格的结构,表示也很灵活、有弹性。
RFC 3986: Uniform Resource Identifier (URI): Generic SyntaxSyntax Components把URL描述为如下图:
                                                                                                                                                                                                                                                                                                                                                                                                                                            








如图所示,把URL分成几个部分,这样便可以了解URL的构成。 在URI scheme - Wikipedia页面中对URL的描述更为详细,如下图:





怎么样,分解的够详细吧,这样当我们使用相关方法处理URL的时候就不用为不知道获取uri的哪部分而发愁了。当然,值得一提的是,
在ASP.NET中有System.Uri 和 UriBuilder 能够处理许多URI的细节。下边我们再看一下使用相对路径的开发技巧:
技巧 1:忽略 scheme 于 authority 部分
这是常见的使用相对路径的写法,有时候包含路径,有时候只包含文件名
# 同目录下的 step2.aspx 页面
step2.aspx
# 网站根目录下的 index.aspx 页面
/index.aspx
# 上层目录的 sitemap.aspx 頁面
../sitemap.aspx
# 上两层目录的 default.htm 頁面
http://www.cnblogs.com/default.htm
# 上层目录下的 images 目录下的 dot 目录下的 red.gif 文件
../images/dot/red.gif

技巧 2:忽略 scheme 与 authority 与 path 部分

连 path (含文件名) 都忽略的技巧十分好用,也就是当在同一页面中要指定不同的 QueryString 参数时,范例如下:

# 跳到第 2 页
<a href="?pageNo=2">第 2 页</a>
# 变更 sortby 参数的值
<a href="?sortby=filesize">File Size</a>

技巧 3:忽略 scheme 与 authority 与path 与 query 部分

此技巧也就是所謂的页内连接不算是技巧,是一種常見的表示法。最常用的地方就是在頁面中加上「回頁首」功能,范例如下:

<a href="#top">Top</a>

posted @ 2009-09-10 15:02  坐看风起  阅读(4664)  评论(1编辑  收藏  举报