HTTP深入学习总结(1)

分类: 开发技术 | 作者: 尼莫船长 | 发表于 2013/09/23 没有评论


1,URI/URL/URN
URI: Uniform Resource Identifier 统一资源标识符
URL: Uniform Resource Locator 统一资源定位符
URN: Uniform Resource Name 统一资源名称
URL 和 URN 是 URI的子集, 区别在于前者是标示了资源的具体路径,后者只是资源名称不涉及到具体路径。

2,标准URL语法由9个部分组成:

	
<scheme>://<user>:<password>@<host>:<port>/<path>;<params>?<query>#<frag>

scheme: 访问服务器采用的协议类型 (eg:http/ftp/mailto/file/rtsp/news/telnet) DefValue: null
user: 访问资源的用户名 DefValue:anonymous
password: 访问资源需要的密码 (eg: IE发送IEUser,ff发送mozilla) DefValue:
host:资源所在主机IP地址 DefValue: null
port:端口 DefValue:null
path:资源所在服务器的路径 (eg: http://www.abc.com/test.htm 其中的/test.htm)
params: 参数 (eg:http://www.abc.com/home;sale=true/index.htm;graphics=true)
query: 查询字符串,多个查询条件由&分割 (eg:http://www.abc.com/sales?item=10002&color=red )
frag:片段,URL支持用frag来展示资源内部的某个片段,前面用#分割。其工作原理如下图:

frag

3,绝对URL和相对URL
假如有如下代码:

	<html>
		<head><title>This sample page</title></head>
		<body>
			<H1>Now is a link:</H1>
			<p>click here show <a href="./list.html">tools list</a></p>
		</body>
	</html>
	

其中: ./list.html 就是 http://www.abc.com/inex.html 的相对URL
其绝对URL为: http://www.abc.com/list.html
而 http://www.abc.com/ 则是基础URL (Base URL)

基础URL有三种提供的方式:
a, HTML文档中显示提供,使用标签指定.
b, 隐式提供,如果不指定,那么就按照当前资源来确定。如上面的例子.
c, 不存在基础URL,这可能意味着你使用的是绝对URL

4,如何解析相对URL

解析相对URL (decomposing URL)使其变成绝对URL, 浏览器采用的是组件解析方式,具体算法如下图表示:

绝对URL

5,字符转义以及PURL
关于这部分内容请自行参考http官方手册。
其中PURL (Persistent Uniform Resource Locator)绝对统一定位符,将会是未来的一种发展趋势,通过proxy的方式将资源绝对定位,proxy只存储资源变更后的地址即可。

移动设备快速阅读本文:
  请扫描二维码  -->

Homer: Kids, you tried your best and you failed miserably. The lesson is, never try.

» 本文链接地址:http://www.wanghaoyan.com/?p=154 » 英雄不问来路,转载请注明出处,谢谢。
» 您也可以订阅本站:RSS 2.0

Tag:
« »