URL的含义
定义
统一资源定位符 (英语: Uniform Resource Locator, 缩写: URL, 俗称网页地址或网址) 是因特网上标准的资源的地址.
统一资源定位符的标准格式如下:
[协议类型]0://[服务器地址][端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
统一资源定位符的完整格式如下:
[协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
语法
超文本传输协议的统一资源定位符将从因特网获取信息的五个基本元素包括在一个简单的地址中:
- 传送协议
- 层级 URL 标记符号(为[//], 固定不变)
- 访问资源需要的凭证信息(可省略)
- 服务器(通常为域名, 有时为 IP 地址)
- 端口号(以数字方式表示, 若为默认值可省略)
- 路径(以"/"字符区别路径中的每一个目录名称)
- 查询(GET 模式的窗体参数, 以"?"字符为起点, 每个参数以"&"隔开, 再以"="分开参数名称与资料, 通常以 UTF8 的 URL 编码, 避开字符冲突的问题)
- 片段(以"#"为起点)
以 https://zh.wikipedia.org/w/index.php?title=Special:随机页面 为例, 其中:
- http 是协议
- zh.wikipedia.org 是服务器
- 443 是服务器上的网络端口号
- /w/index.php 是路径
- ?title=Special:随机页面是询问
大多数网页浏览器不要求用户输入网页中 “https://” 的部分,因为绝大多数网页内容是超文本传输协议文件。同样,“80” 是超文本传输协议文件的常用端口号,因此一般也不必写明。一般来说用户只要键入统一资源定位符的一部分(zh.wikipedia.org/w/index.php?title=Special:随机页面)就可以了。
由于超文本传输协议允许服务器将浏览器重定向到另一个网页地址,因此许多服务器允许用户省略网页地址中的部分,比如 www。从技术上来说这样省略后的网页地址实际上是一个不同的网页地址,浏览器本身无法决定这个新地址是否通,服务器必须完成重定向的任务。
其他使用
统一资源定位符不但被用作网页地址,JDBC 客户端也使用统一资源定位符连接其数据库服务器。作为对比,ODBC 的连接字符串作用相同,但并不采用 URL 格式,而是分号和等号分隔的键值对。
以下是一个 Oracle 数据库的统一资源定位符:
jdbc:datadirect:oracle://myserver:1521;sid=testdb