在RFC 3986: Uniform Resource Identifier (URI): Generic Syntax 的 Syntax 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 页
"?pageNo=2">第 2 页
# 变更 sortby 参数的值
"?sortby=filesize">File Size
技巧 3:忽略 scheme 与 authority 与path 与 query 部分
此技巧也就是所謂的页内连接不算是技巧,是一種常見的表示法。最常用的地方就是在頁面中加上「回頁首」功能,范例如下: