URL包含的内容
统一资源定位符(英语:Uniform Resource Locator,缩写:URL;或称统一资源定位器、定位地址、URL地址,俗称网页地址或简称网址)是因特网上标准的资源的地址(Address),如同在网络上的门牌。
统一资源定位符的开始,一般会标志着一个计算机网络所使用的网络协议。
统一资源定位符的标准格式如下:
[协议类型]://[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
统一资源定位符的完整格式如下:
[协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询]#[片段ID]
其中[访问凭证信息]、[端口号]、[查询]、[片段ID]都属于选填项。
格式内容浅析
- 传送协议
- 层级URL标记符号(为[//],固定不变)
- 访问资源需要的凭证信息(可省略)
- 服务器。(通常为域名,有时为IP地址)
- 端口号。(以数字方式表示,若为默认值可省略)
- 路径。(以“/”字符区别路径中的每一个目录名称)
- 查询。(GET模式的窗体参数,以“?”字符为起点,每个参数以“&”隔开,再以“=”分开参数名称与数据,通常以UTF8的URL编码,避开字符冲突的问题)
- 片段。以“#”字符为起点
例如:以https://zh.wikipedia.org:80/w/index.php?title=Special:
- https://是协议
- zh.wikipedia.org,是服务器;
- 80,是服务器上的网络端口号;
- /w/index.php,是路径;
- ?title=Special:随机页面,是查询;
大多数网页浏览器不要求用户输入网页中“https://”的部分,因为绝大多数网页内容是超文本传输协议文件。
同样,“80”是超文本传输协议文件的常用端口号,因此一般也不必写明。一般来说用户只要键入统一资源定位符的一部分就可以了。
由于超文本传输协议允许服务器将浏览器重定向到另一个网页地址,因此许多服务器允许用户省略网页地址中的部分,比如 www。
从技术上来说这样省略后的网页地址实际上是一个不同的网页地址,浏览器本身无法决定这个新地址是否通,服务器必须完成重定向的任务。
DNS
域名系统(英语:Domain Name System,缩写:DNS)是互联网的一项服务。
它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS使用TCP和UDP端口53。
DNS通过允许一个名称服务器把它的一部分名称服务(众所周知的zone)“委托”给子服务器而实现了一种层次结构的名称空间。
此外,DNS还提供了一些额外的信息,例如系统别名、联系信息以及哪一个主机正在充当系统组或域的邮件枢纽。
任何一个使用IP的计算机网络可以使用DNS来实现它自己的私有名称系统。
尽管如此,当提到在公共的DNS系统上实现的域名时,术语“域名”是最常使用的。
域名解析
举一个例子,zh.wikipedia.org 作为一个域名就和IP地址198.35.26.96 相对应。DNS就像是一个自动的电话号码簿,我们可以直接拨打198.35.26.96 的名字zh.wikipedia.org 来代替电话号码(IP地址)。
DNS在我们直接调用网站的名字以后就会将像zh.wikipedia.org 一样便于人类使用的名字转化成像198.35.26.96 一样便于机器识别的IP地址。
DNS查询有两种方式:递归和迭代。
DNS客户端设置使用的DNS服务器一般都是递归服务器,它负责全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询方式。
以查询 zh.wikipedia.org 为例:
- 客户端发送查询报文"query zh.wikipedia.org"至DNS服务器,DNS服务器首先检查自身缓存,如果存在记录则直接返回结果。
- 如果记录老化或不存在,则:
- DNS服务器向根域名服务器发送查询报文"query zh.wikipedia.org",根域名服务器返回顶级域 .org 的权威域名服务器地址。
- DNS服务器向 .org 域的权威域名服务器发送查询报文"query zh.wikipedia.org",得到二级域 .wikipedia.org 的权威域名服务器地址。
- DNS服务器向 .wikipedia.org 域的权威域名服务器发送查询报文"query zh.wikipedia.org",得到主机 zh 的A记录,存入自身缓存并返回给客户端。
如何使用nslookup
nslookup baidu.com
可以查看到域名所对应的IP。
域名的关系
- com是顶级域名;
- baidu.com是二级域名(俗称一级域名)。
- www.baidu.com是三级域名(俗称二级域名)。
- 意味着baidu.com和www.baidu.com可以是一家公司,也可以不是一家公司。他们是父子关系。
- 如经常使用的github.io把子域名xxx.github.io免费给予客户来使用。
IP 地址
互联网协议地址(英语:Internet Protocol Address,又译为网际协议地址),缩写为IP地址。是分配给网络上使用网际协议(英语:Internet Protocol, IP)的设备的数字标签。IP地址主要有两个功能:标识主机或者网络和寻址
功能
IP地址有两个主要的功能。
它标识主机,更具体地说,标识其网络接口,并且提供主机在网络中的位置,就此提供创建到达该主机的路径的能力。
其角色的特征如下:“名称能表明我们在寻找什么。地址表明我们在哪里。路径表明我们如何到达那里。”
每个IP数据包的标头包含了发送主机的IP地址和目的主机的IP地址。
ping如何使用
ping baidu.com
可以得到百度服务器的响应。