URL 是Uniform Resource Locator的首字母缩写词,是 Internet 上资源的引用(地址)。
当我们在点击一个链接或在浏览器中输入网址时,就已经接触到URL了,只不过脑海没有这种术语罢了。 中文名是统一资源定位器。把它想象成一个街道地址,URL 的每个部分都是地址的不同部分,每个都会给你不同的信息。下面我们认识一下 URL 的每个组成部分。
协议标识符(schema)
指示用于获取资源的协议名称。
通常不会在浏览器地址栏中显示,在输入网址时也不需要输入;相反,你可以直接输入域名。但这并不意味着它不是 URL 的一部分(可有可无);它只是没有被显示出来。
域名/主机名(domain name)
资源所在机器的名称。
这是整个URL最显眼的部位。通常,同一站点上的不同页面将继续使用相同的域名。例如,百度站点上的所有页面共享 baidu.com 域名。
以句点分隔的域名的每一段称为域。最右边的域称为一级域名(top-level domain),往左过来依次为二级域名(second-level domain),三级域名(third-level domain)。
我们可以从域中了解有关该站点的信息。一级域名更多一般可能会为您提供有关它是哪种站点类型的信息。比如以xx.gov或xx.org为域名后缀的URL,说明了它们的指向是*机构或公益非营利性的站点。在大多数 URL 中,可以省略 www 域。baidu.com 和 www.google.com 指向同一个页面。但是不能省略其他子域。例如,baike.baidu.com 下的所有页面都需要 URL 中的baike子域。
文件路径(File path)
机器上的文件路径名。
文件路径(通常称为路径)告诉您的浏览器加载特定页面。如果您不指定路径而只输入域名,您的浏览器仍在加载特定页面(默认是主页),旨在帮助您导航到网站上特定的index.html。通常,如果您不记得特定页面上的文件路径,您可以转到主页并搜索它。
参数(parameter)
某些 URL 在路径后包含一串字符 - 以问号开头,叫参数字符串(parameter string)。对人类用户来说可能是清晰的或令人困惑的,但它是服务器的关键信息。
例如百度搜索:https://www.baidu.com/s?wd=CSDN
?wd=CSDN,这个称为请求参数是key-value形式的。
锚点(Anchor)
锚点也出现在URL路径之后,它指示浏览器滚动到或加载至页面的特定部分。通常锚点以#号开头,用于引导到很长的页面特定部分,类似书签。不同的锚点不会加载不同的页面,它们只是告诉浏览器要显示的是页面的哪个部分而已。
常见的百度百科目录就是利用锚点实现跳转的。
总结
当以上这些元素组合在一起时,就构成了一个 URL,尽管并非所有 URL 都包含所有五个部分。
请记住这些是 URL 中最常见的组成部分(还有其他部分),通常可以为您提供较多的信息。
参考:Internet Basics: Understanding URLs
What is a URL (Uniform Resource Locator)? Definition from SearchNetworking