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结构的信息。后面直接输入域名即可。如下图所示:
4. IP与ping详解
IP地址是分配给连接到使用Internet协议的网络的每个设备的一串数字,有IPv4和IPv6两种形式的IP地址。在广泛使用IPv6之前,IP基本上等同于IPv4。IP地址的作用是提供的一种统一的地址格式,为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
ping
是一个命令行使用的命令,它的作用是用于检查本机与外网连接是否正常。如下图示例:
5. 域名详解
域名即网站的地址。域名被用于 URL 识别一个服务器属于哪个特定的网站。
以一个例子来说明域名的分类。例子来源于MDN:
域名的阅读应遵循牌匾式阅读顺序:从右往左读。从右往左依次分为这么几个部分:
- TLD:即Top Level Domain,顶级域名,可以用于表示该网址的功能是什么,或者属于哪个国家或地区。例如,
.ac
代表学术机构,.gov
代表政府组织,.edu
代表高校或者教育单位。.cn
代表中国,.hk
代表香港等等。 - label:在图片中分为
label1
和label2
,紧随TLD出现。标签由1到63个大小写不敏感的字符组成,这些字符包含字母A-z,数字0-9,甚至 “-” 这个符号(当然,“-” 不应该出现在标签开头或者标签的结尾)。
注意:www
是历史遗留问题,用处不大。
References
- [1] What is a URL? (English)-MDN
- [2] 什么是URL(中文)-MDN
- [3] 域名系统 (DNS)
- [4] DNS – IBM
- [5] DNS – AWS
- [6] nslookup – Microsoft
- [7] IP-MDN
- [8] ping命令详解
- [9] 域名-MDN
- [10] 域名详解-MDN