浅析 URL

249 阅读3分钟

URL 是什么?

URL 代表着是统一资源定位符(Uniform Resource Locator),换句话说就是可以定位资源的的地址

URL 是由多个部分组成,其中一些是必须的,而另一些是可选的。

URL=协议(Protocol)+域名(Damain Name)+端口(Port)+路径(Path the file)+参数(Parameters)+锚点(Anchor)

看个例子🌰
URL=http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#TheDocument

  1. 协议(Protocol) = http
  2. 域名(Damain Name) = www.example.com
  3. 端口(Port) = :80
  4. 路径(Path thr file) = /path/to/myfile.html
  5. 参数(Parameters) = key1=value1&key2=value2
  6. 锚点(Anchor) = #TheDocument

解释:

  1. http 是协议的一种,协议还包括 https、mailto:(打开邮件客户端)或者 ftp:(处理文件传输)
  2. www.example.com 表示正在请求 www.example.com 的Web服务器,也可以使用IP地址(192.168.12.123(这个举例子的IP)),但IP地址不太容易记住,所以就产生了域名。
  3. 端口表示用于访问 Web 服务器上的资源的技术“门”。如果 Web 服务器使用 HTTP 协议的标准端口(HTTP 为80,HTTPS 为443)来授予其资源的访问权限,则通常会被忽略。否则是强制性的。
  4. /path/to/myfile.html 表示网络服务器上资源的路径,也就是 path 文件夹下的 to 文件夹, to 文件夹下的 myfile.html 文件
  5. ?key1=value1&key2=value2 是提供给网络服务器的额外参数。这些参数是用 & 符号分隔的键/值对列表。在返回资源之前,Web 服务器可以使用这些参数来执行额外的操作。每个 Web 服务器都有自己关于参数的规则,唯一可靠的方式来知道特定 Web 服务器是否处理参数是通过询问Web服务器所有者。
  6. #TheDocument 这是写给浏览器的锚点,没有发送到请求的服务器。锚点只是看起来支持中文!!

IP(Internet Protocol) 地址

IP 地址是分配给连接到使用 Internet 协议的网络的每个设备的一串数字。 知道 IP 就可以 Web 服务器的位置,那么知道域名又是怎么知道 Web 服务器的地址的呢?

这就需要用到 DNS(Domain Name System) 域名系统(下文有写是什么)

几个特殊的IP

  1. 127.0.0.1 表示自己
  2. localhost 通过 host 表示自己
  3. 0.0.0.0 不代表任何设备

ping命令的使用

ping 可以检测目标地址是否于当前设备通讯正常,特别是用于局域网。

举2个例子🌰🌰

  • ping baidu.com

image.png

  • ping 192.168.1.1(我家路由器的地址)

image.png

延迟(往返行程的估算时间)明显低于 baidu.com,因为属性局域网访问

更多的ping的使用方法 ping /?

image.png

DNS(Domain Name System) 域名系统

DNS (Domain Name System) 域名系统,是一个层次化、分散化的 Internet 连接资源命名系统。DNS维护着一个包含域名与对应资源例如IP地址的列表.

DNS 最突出的功能是将易于记忆的域名(例如 mozilla.org)翻译成为数字化的 IP 地址(例如151,106,5,172).这一从域名到 IP 地址的映射过程被称为 DNS 查询(DNS lookup),与之对应,DNS 反向查询(rDNS)用来找到与 IP 地址对应的域名.

小提示:一个域名可以对应多个 IP,防止单个服务器顶不住压力,让外人看不懂的说法就是均衡负载。一个 IP 也可以对应多个域名,让外人看不懂的说法就是共享主机(是不是因为穷?🧐)。

nslookup(DNS lookup) 命令的使用

image.png\

更多的 nslookup 的使用方法 nslookup /?

image.png

域名

域名就是 IP 地址的别称

baidu.com的 IP 地址就是 220.181.38.14839.156.69.79 反之这两的IP地址的域名就是 baidu.com·

域名的关系

com 是顶级域名 xxx.com 是二级域名 (俗称一级) www.xxx.com 是三级级域名 (俗称二级)

www.xxx.com 和 xxx.com 不是有一个域名,那为什么 www.baidu.com 和 baidu.com 均可以进入百度首页,因为百度进行了对应的操作,当输入的为 baidu.com 时,百度服务器接受到请求,然后重定向到 www.baidu.com

www 并没有实际的作用,部分浏览器在地址栏已经取消了www 的显示