一个完整的网址都包括那些内容:
网址简化: 协议://域名:端口号/资源位置?参数=值
分析:
资源位置,用于描述 WEB 资源再服务器上的位置。
参数=值,浏览器和服务器交互传递的数据。
其中, ? 是参数和路径连接的符号(第一个参数和路径拼接使用?); & 是参数和参数之间连接的符号(参数和参数之间的拼接使用 &)
完整的网址(url)中文版本: 协议://主机名(域名):端口号/路径/文件名?查询字符串#锚点
英文版本: protocal://hostname:portname/pathname/?search#hash
各部分具体是什么:
以百度文库的 url 举例:
- 协议部分
protocal 指的是返回使用的 Web 协议,在 Internet 中可以使用多种协议,如 HTTP,FTP 等等。
常用的有:
(1)file: 本地磁盘访问,主要是访问本地文件。
(2)http: 即 HTTP 协议。
(3)https: 即 HTTPS 协议。
例子中 URL 的协议部分为“https:”,这代表网页使用的是 HTTPS 协议。在"https"后面需要加上“//”为分隔符。
- 域名部分
hostname 返回 Web 主机(域)名 IP(在 Web 网络下找到当前网络的地址),一个 URL 中,也可以使用 IP 地址作为域名使用。域名或 IP 地址,都可以访问 WEB 资源。
例子中 URL 的域名部分为“www.wenku.baidu.com”。
- 端口部分
port 端口号(默认隐藏),跟在域名后面的是端口,域名和端口之间使用“:”作为分隔符。程序必须使用端口号,才可以让另一个计算机访问。
通过 hostname:port 可以直接定位当使用网络的程序。
端口不是一个 URL 必须的部分,如果省略端口部分,将采用默认端口。
常见默认端口:
浏览器 8080
http 80
https 443
- 虚拟目录(查询路径)部分
pathname 查询路径,从域名后的第一个“/”开始到最后一个“/”为止,是虚拟目录部分。
虚拟目录也不是一个 URL 必须的部分。本例中无虚拟目录。
- 文件名部分
从域名后的最后一个“/”开始到“?”为止,是文件名部分,如果没有“?”,则是从域名后的最后一个“/”开始到“#”为止,是文件部分,如果没有“?”和“#”,那么从域名后的最后一个“/”开始到结束,都是文件名部分。
本例中文件名为"search"。文件名部分也不是一个 URL 必须的部分,如果省略该部分,则使用默认的文件名。
- 参数部分
search 参数,从“?”开始到“#”为止之间的部分为参数部分,又称搜索部分、查询部分。
一般样式:?name1=value1&name2=value2
参数可以允许有多个参数,参数与参数之间用“&”作为分隔符。
本例中的参数部分为“word=%E7%99%BE%E5%BA%A6&ie=utf-8”。
- 锚部分
hash 锚点,从“#”开始到最后,都是锚部分。z
本例中无锚部分。锚部分也不是一个 URL 必须的部分