URI (统一资源标识符)和 URL(统一资源定位符)
URI 用字符串标识某一互联网资源,而 URL表示资源的地点(互联
网上所处的位置)。可见 URL是 URI 的子集。
“RFC3986:统一资源标识符(URI)通用语法”中列举了几种 URI 例
子,如下所示。
ftp://ftp.is.co.za/rfc/rfc1808.txt
http://www.ietf.org/rfc/rfc2396.txt
ldap://[2001:db8::7]/c=GB?objectClass?one
mailto:John.Doe@example.com
news:comp.infosystems.www.servers.unix
tel:+1-816-555-1212
telnet://192.0.2.16:80/
urn:oasis:names:specification:docbook:dtd:xml:4.1.2
URL的构成
对于URL来说,一般由以下5个部分构成:
示例:
http://192.168.2.212/phpwind/searcher.php?keyword=phpwind&type=thread
· 协议
通常就是第一个冒号之前的内容。
常见的协议有:http,https(http+ssl),ftp,ssh;about,javascirpt。
· 域名
域名就是要访问的服务器的域名(机器名或者IP地址)。一般格式为“://域名”(://192.168.2.212)
· 端口
访问的服务器自己所设定的服务端口,监听端口。
一般来说,如果服务器使用的是协议的默认通信端口,则用户在通过URL访问服务器时,是可以省略端口的。
常见协议 | 默认端口 |
---|---|
http | 80 |
https | 443or8443 |
ftp | 21 |
ssh | 22 |
smtp | 25 |
pop3 | 110 |
oracle | 1521 |
mysql | 3306 |
sqlserver | 1433 |
· 路径
path,是指要访问的资源在服务器容器下的相对路径,不是资源在服务器的绝对路径。
/phpwind/searcher.php
PS:在restful风格的接口中,经常会直接将参数内容以path的形式进行封装。
实例:http://localhost/aaa/bbb/{username}/{password}
· URL地址参数
一般来说是通过问号?连接在path之后的。
在很多工具中,也是可以归类到path中的。
一般来说,URL地址参数都是键值对应。
实例:?keyword=phpwind&type=thread