浅析URl
简述
从定义的上理解:
统一资源定位符(Uniform Resource Locator,缩写为URL),又叫做网页地址,是互联网上标准的资源的地址(Address)。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。它最初是由蒂姆·伯纳斯-李发明用来作为万维网的地址的。现在它已经被万维网联盟编制为因特网标准RFC1738了。统一资源定位符的开始,一般会标志着一个计算机网络所使用的网络协议。
这是一个标准的URL,一般来说:URL=协议+域名|IP+端口号+路径+参数+锚点,端口号一般采用默认端口,80端口提供HTTP服务,443端口提供HTTPS服务,21端口提供FTP服务。
DNS域名解析
向浏览器输入一个标准的URl,协议说明我们以什么方式请求,域名|IP说明我们请求的服务器在互联网上身份,端口号说明我们请求的服务,路径说明我们请求的资源,参数说明我们要告知服务器的内容,锚点不会被提交。
在这个过程中,很重要的一步就是域名是给人看的,但不是给计算机看的,所以将人类可以解读的域名解析为计算机可以识别的IP地址,就是所谓的DNS解析.
DNS解析的过程:
- 客户端访问本地的hosts文件,检查在该文件中是否有相应的域名、IP对应关系,如果有,则向其IP地址发送请求,如果没有,再去找本地的DNS服务器。
- 客户端向本地DNS服务器发送一个含有域名的DNS查询报文。
- 本地DNS服务器把查询报文转发到根DNS服务器,根DNS服务器注意到其
com|org|net后缀,于是向本地DNS服务器返回相对应后缀的服务器的IP地址。 - 本地DNS服务器再次向对应后缀的DNS服务器发送查询请求,DNS服务器注意到其后缀并用负责该域名的权威DNS服务器的IP地址作为回应。
- 最后,本地DNS服务器将含有IP地址的响应报文发送给客户端。
nslookup
nslookup用于查询DNS的记录,查询域名解析是否正常,在网络故障时用来诊断网络问题。
- 直接查询
nslookup domain [dns-server]
//如果没有指定dns服务器,就采用系统默认的dns服务器。
- 其他查询
nslookup -qt = type domain [dns-server]
| type: | 含义 |
|---|---|
| A | -->地址记录 |
| AAAA | -->地址记录 |
| AFSDB Andrew | -->文件系统数据库服务器记录 |
| ATMA | -->ATM地址记录 |
| CNAME | -->别名记录 |
| HINHO | -->硬件配置记录,包括CPU、操作系统信息 |
| ISDN | -->域名对应的ISDN号码 |
| MB | -->存放指定邮箱的服务器 |
| MG | -->邮件组记录 |
| MINFO | -->邮件组和邮箱的信息记录 |
| MR | -->改名的邮箱记录 |
| MX | -->邮件服务器记录 |
| NS | --> 名字服务器记录 |
| PTR | -->反向记录 |
| RP | -->负责人记录 |
| RT | -->路由穿透记录 |
| SRV | -->TCP服务器信息记录 |
| TXT | -->域名对应的文本信息 |
| X25 | -->域名对应的X.25地址记录 |
- 查询更具体的信息
nslookup -d [其他参数] domain [dns-server]
//只要在查询的时候,加上-d参数,即可查询域名的缓存
IP地址
IP地址是IP协议提供的一种统一的地址格式,它为互联网上的每一个网络和每一台主机分配一个逻辑地址,以此来屏蔽物理地址的差异。
换言之,IP地址就是每一个互联网上的身份证。但是这里也分外网和内网。外网IP是独立IP也就是公网IP。但是内网IP可能是多个IP共享一个公网IP,通过NAT将多个内网Ip映射到一个公网IP。
ping
ping [-t] [-a] [-n count] [-l length] [-f] [-i ttl] [-v tos] [-r count] [-s count] [-j computer-list] | [-k computer-list] [-w timeout] destination-list
| 参数 | 含义 |
|---|---|
| -t | Ping 指定的计算机直到中断。 |
| -a | 将地址解析为计算机名。 |
| -n count | 发送 count 指定的 ECHO 数据包数。默认值为 4。 |
| -l length | 发送包含由 length 指定的数据量的 ECHO 数据包。默认为 32 字节;最大值是65,527。 |
| -f | 在数据包中发送”不要分段”标志。数据包就不会被路由上的网关分段。 |
| -i ttl | 将”生存时间”字段设置为 ttl 指定的值。 |
| -v tos | 将”服务类型”字段设置为 tos 指定的值。 |
| -r count | 在”记录路由”字段中记录传出和返回数据包的路由。count 可以指定最少 1 台,最多 9 台计算机。 |
| -s count | 指定 count 指定的跃点数的时间戳。 |
| -j computer-list | 利用 computer-list 指定的计算机列表路由数据包。连续计算机可以被中间网关分隔(路由稀疏源)IP 允许的最大数量为 9。 |
| -k computer-list | 利用 computer-list 指定的计算机列表路由数据包。连续计算机不能被中间网关分隔(路由严格源)IP 允许的最大数量为 9。 |
| -w timeout | 指定超时间隔,单位为毫秒。 |
| destination-list | 指定要 ping 的远程计算机。 |
域名
先来看看域名的定义:
域名(英语:Domain Name),简称域名、网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。 网域名称系统(DNS,Domain Name System,有时也简称为域名)是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库,能够使人更方便的访问互联网,而不用去记住能够被机器直接读取的IP地址数串。
在了解一下域名的管理机构:
全世界域名的最高管理机构,是一个叫做 ICANN (Internet Corporation for Assigned Names and Numbers)的组织。它的总部在美国加州。ICANN 负责管理全世界域名系统的运作。它的一项主要工作,就是规定顶级域名(top level domain,简写为 TLD)。
- 根域名
由于 ICANN 管理着所有的顶级域名,所以它是最高一级的域名节点,被称为根域名(root domain)。在有些场合,www.example.com被写成www.example.com.,即最后还会多出一个点。这个点就是根域名。理论上,所有域名查询都必须先查询根域名,因为只有根域名才能告诉你,某个顶级域名由哪台服务器管理。事实上也确实如此,ICANN 维护着一张列表,里面记载着顶级域名和对应的托管商。
- 顶级域名
顶级域名(TLD),就是最高层级的域名。简单说,就是网址的最后一个部分。比如,网址www.example.com的顶级域名就是.com。
- 下属域名