浅析URL

1. 何为URL

URL的全称为Uniform Resource Locator,中文译名一般为统一资源定位符。URL的概念与html、http等概念相伴而生,经常被(错误地)作为同义词相互替换用。

URL的作用是“给定的独特资源在Web上的地址[2]。“理论上说,每个有效的URL都指向一个唯一的资源。这个资源可以是一个 HTML 页面,一个 CSS 文档,一幅图像,等等”。这是MDN的原文,此处将其引用。也就是说,资源可以指互联网上存在的一切,比如网页、图片等等,而URL的作用就是给每个资源分配一个地址编码。

URL由很多部分构成。下面以一个示例URL来说明:

http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument
复制代码
  • scheme:对应的部分是http://,即规定了该URL所使用的协议(protocol)
  • authority:对应的部分是www.example.com:80,即该网址的域名(domain)和端口(port)。域名和端口通过冒号分开,即在authority中,www.example.com是域名,:80是端口。由于互联网中网址默认端口为80(http)或443(https),所以端口一般略去不写。除了域名之外,也可以用ip地址代替域名。
  • Path to resource:即资源路径。对应的部分是path/to/myfile.html。在Web的早期阶段,像这样的路径表示Web服务器上的物理文件位置。如今,它主要是由没有任何物理现实的Web服务器处理的抽象。
  • Parameters:参数。对应的部分是?key1=value1&key2=value2,通常以问号开头。参数通常都是键值对形式,如这里的key1=value1,多个参数以&隔开。用处是传递给服务器,进行额外操作。
  • anchor:锚点。对应的部分是#SomewhereInTheDocument,用于在文章的不同部分之间跳转。值得注意的是,#后面的部分(也称为片段标识符)从来没有发送到请求的服务器。

通过上面的解析,我们便可以很轻松地读懂浏览器那一长串好像乱码一样的地址了。

2. 何为DNS?

DNS全称为Domain Name System,即“域名系统”。“是包含 TCP/IP 的一系列行业标准协议中,同时 DNS 客户端和 DNS 服务器为计算机和用户提供计算机名称到 IP 地址的映射名称解析服务”[3]。DNS最重要的功能是将域名映射为数字形式的IP地址。

关于DNS的工作原理等,可以阅读IBM所写的文章(英文)

3. nslookup怎么用?

该命令可以用于提供诊断DNS结构的信息。后面直接输入域名即可。如下图所示:

对于北京大学官网使用nslookup

4. IP与ping详解

IP地址是分配给连接到使用Internet协议的网络的每个设备的一串数字,有IPv4和IPv6两种形式的IP地址。在广泛使用IPv6之前,IP基本上等同于IPv4。IP地址的作用是提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。

ping是一个命令行使用的命令,它的作用是用于检查本机与外网连接是否正常。如下图示例:

ping清华官网

5. 域名详解

域名即网站的地址。域名被用于 URL 识别一个服务器属于哪个特定的网站。

以一个例子来说明域名的分类。例子来源于MDN:

域名例子

域名的阅读应遵循牌匾式阅读顺序:从右往左读。从右往左依次分为这么几个部分:

  • TLD:即Top Level Domain,顶级域名,可以用于表示该网址的功能是什么,或者属于哪个国家或地区。例如,.ac代表学术机构,.gov代表政府组织,.edu代表高校或者教育单位。.cn代表中国,.hk代表香港等等。
  • label:在图片中分为label1label2,紧随TLD出现。标签由1到63个大小写不敏感的字符组成,这些字符包含字母A-z,数字0-9,甚至 “-” 这个符号(当然,“-” 不应该出现在标签开头或者标签的结尾)。

注意:www是历史遗留问题,用处不大。

References

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享