web资源
1.URI
1.统一资源标识符
2.指示在哪里去访问服务器上的资源
3.现在几乎所有的URI都是URL
2.URL
1.统一资源定位符
2.描述特定服务器上某资源的位置
3.说明了协议、服务器和本地资源
4.标准格式
- 第一部分:方案 访问资源所使用的类型 通常就是HTTP协议 http://
- 第二部分:服务器的因特网地址
- 其余部分:指定web服务器上的某个资源
5.语法
(1) 方案——使用的协议
- 必须以一个字母符号开始
- 用第一个“:”将其与URL的其余部分分隔开来
- 常见的方案
a) http - 超文本传输
- 没有用户名与密码,其他与通用的URL格式相符
- 格式:http://:/
?# - 默认端口 80
b)https - 同http
- 唯一区别:使用ssl为HTTP连接提供了端到端的加密机制
- 默认端口 443
c)mailto - 只想E-mail的地址
- 于其他方案不同:它不只想任何可以直接访问的对象
- 格式:mailto:
mailto:jeo@joes-hardware.com
d)ftp - 文件传输协议
- 格式: ftp://:@:/path;
rtsp,rtspu - 格式:rtsp://:@:
- 可以通过实时流传输协议解析的音、视频媒体资源
e)file - 一台指定主机上可直接访问的文件
- 格式:file:///
f)news - 访问一些特定的文章或者新闻
g)telnet - 访问交互式业务
- 格式:telnet://:@:/
(2)主机与端口
1.主机(主机或者IP)
- 能够访问资源的宿主机器
2.端口 - 标识了服务器正在监听的端口
- 对下层使用TCP协议的HTTP来说,默认端口80
(3)用户名与密码
比如FTP就会需要
1.用户没有提供,它会自动插入一个默认匿名的
- tfp://<用户名>:<密码>@…
(4)路径
说名资源位于服务器的什么地方
(5)参数
1.为应用程序提供访问资源所需要的所有附加信息
2.名值对列表 <名>:<值>
3.用“;”作为分割标志
- http://www.joes-hardware.com/hammers;sale=false/index.html;graphics=true
(6)查询字符串
1.所有请求资源类型的范围
2.常规:查询字符串以 一系列“名/值“对的形式出现
各名/值对间用”&“分隔
3.用“?”将其与URL的其他部分分隔
- http://www.joes-hardware.com/inventory-check.cgi?item=12731
(7)片段
1.为了引用部分资源
2.片段组件(frag)
3.片段挂在URL的右边,用”#“分隔
4.服务器处理的是整个对象,片段仅由客户端使用
- http://www.xxxx.com/tools.html#drills
6.URL字符集
1.目的:可移植性
2.编码机制:通过“转义”表示法来表示不安全的字符
- 包含一个%,后面跟着2个表示字符ASCII码的十六进制数
3.字符限制
3.1有特殊含义的保留字符 - % 编码字符的转义标志
- / 分隔路径段的定界符
- . 在路径组件中使用
-
分段定界符
- ? 查询字符串定界符
- ; 参数定界符
3.2 会于某些因特网网关产生混淆的字符 - {}|~[]
-
- Agent代理
-
- 各种网关的不安全处理
- <>
-
- 不安全
3.3 客户端应用程序在向其他应用程序发送任意URL之前,最好把所有不安全或者受限的字符都惊醒转换
- 不安全
3.URN
1.统一资源名
2.特定内容的唯一名称
3.可以用同一个名字通过多种网络协议来访问资源