-
URL的定义与结构
通常的URL一般由网络协议名,资源所在的主机名,网络服务程序的端口号和资源本身的名称等4个部分组成
例:
http://www.it315.org:8080/index.html
其中网络协议名为HTTP(超文本传输协议),资源所在的主机名为www.it315.org,HTTP服务器程序所用的网络端口号是8080,资源名为index.html
- http协议定义了web浏览器与web服务器之间交换数据的会话过程以及数据本身的格式。
-
端口号用来指定客户端要连接的网络服务器的监听端口号。每种网络协议都有一个默认端口号,HTTP 是80
- 如果某种协议的服务器程序使用的是默认端口号,那么在URL中就可以不指定端口号,例:
http://www.it315.org/home/welcome.html
- 如果某种协议的服务器程序使用的是默认端口号,那么在URL中就可以不指定端口号,例:
- URL大小写敏感(主机名除外)
-
相对 URL
- 一个相对的URL不包括协议和主机地址信息,它的路径与当前文档的访问协议和主机名相同。一个完整的URL由基准URL和相对URL组成。
例:
http://www.baidu.com/dir1/dir2/index.htmel
基准URL就是http://www.baidu.com/dir1/dir2/
相对URL就是index.html
- 一个相对的URL不包括协议和主机地址信息,它的路径与当前文档的访问协议和主机名相同。一个完整的URL由基准URL和相对URL组成。
-
为 URL指定参数
- 参数由参数名和参数值组成。它们之间用(=)连接。只有参数名,没有参数值的情况也是允许的,但参数名后也要跟"=",例"name= ",这相当于参数部分是一个空字符串。
- URL地址与参数之间用(?)分隔,各个参数用(&)分隔
例:
http://www.it315.org/dealregister.html?name=zhangsan&password=123 - 一般接收参数的internet资源是一个可在服务器上运行的程序,但在www服务器上可以通过某种方式将之映射成一个普通的HTML文件名格式的URL地址。
-
带有定位标记的 URL
- 定位标记都有一个名称。符号(#),可用这个符号后跟定位标记名称,来直接定位到这个网页中的定位标记处。
例:
http://www.it315.org/index.html#section2
- 定位标记都有一个名称。符号(#),可用这个符号后跟定位标记名称,来直接定位到这个网页中的定位标记处。
-
URL编码
- http协议浏览器不能向服务器传递某些特殊字符,必须是这些字符进行URL编码后再传送。
- URL编码遵循下列规则:
- 将空格转换为加号(+)
- 对0~9,a~z,A~Z之间的字符保持不变
- 对于所有其他字符,用这个字符的当前字符集编码在内存中的十六进制格式表示,并在前面加上(%),例:字符"+"用"%2B"表示。
- 每个使用GB2312编码的中文字符在内存中占两个字符,例:字符"中"用"%D6%D0"表示。
-
对于空格也可以使用16 进制编码方式,即"%20 "表示,也可以基于第一条。两种方式是对等的
-
如果确信URL 串的特殊字符在使用上没有歧义也可以不用编码。虽然在URL 编码中规定了除字母和数字之外的字符要转换,但不等于对某个URL 中所有的字符都必须进行URL 编码。
-
如果URL 串中的特殊字符可能会产生歧义,就必须对这些字符进行编码。例:如果要传递的name 参数为"中& 国",如果不对其中的"& "编码,就会出现下面的形式
- http://www.it315.org/example/index.html#section2dui
这个地址前部分(http://www.it315.org/)指定了www服务器地址和端口,后部分(example/index.html#section2dui)指定了浏览器所要访问的资源在这个服务器上的路径名。浏览器通过前部分信息与服务器建立连接,然后通过这个链接将后面的路径名发送给www服务器,请求服务器返回这个路径名所指定的网页文件。说明浏览器只传送了URL后部分的字符给服务器,所以只要对后部分进行编码即可,上面地址改为:
http://www.it315.org/example%2Findex.html%23section2dui
-
mailto URL
- URL使用的网络协议不只局限于HTTP协议,有时候也会使用到mailto协议的URL。如果想通过一个超链接就启动用户计算机上的邮件发送程序,这个超链接就要指向mailto协议的URL地址。格式如下:
mailto:收件人的E-mail地址 -
在收件人的E-mail地址后面,还可以使用(?)附带若干参数。这些参数的使用格式与 HTTP一样,其中的字符也可以使用URL编码,但空格只能使用"%20"表示,不能用"+",例:
- URL使用的网络协议不只局限于HTTP协议,有时候也会使用到mailto协议的URL。如果想通过一个超链接就启动用户计算机上的邮件发送程序,这个超链接就要指向mailto协议的URL地址。格式如下:
前端探秘URL(统一资源定位符)
最新推荐文章于 2024-06-01 19:36:52 发布