浅析 URL

168 阅读3分钟

在之前的 HTML入门笔记 中提到过,网页最早是由 URL + HTML + HTTP 三部分组成的。本篇文章,我们来对 URL 做一个简要的介绍。

URL的组成部分:协议 + 域名或 IP + 端口号 + 路径 + 查询参数 + 锚点

IP

首先我们来介绍一下什么是 IP,IP 全称是 Internet Protocol 。主要约定了两件事:

  1. 如何定位一台设备
  2. 如何封装数据报文,以跟其他设备交流

只要在互联网中,就有至少一个独特的 IP 。

IP 分为内网和外网:

  • 外网 IP 通过租用宽带,路由器连上服务器,路由器就会有一个 外网 IP。这就是我们在互联网中的地址。
  • 内网 IP ,路由器会在路由器所在区域创建一个内网,内网中的设备使用内网 IP , 一般来说,这个 IP 格式是 192.168.xxx.xxx。路由器会给每一个内网设备分配一个不同的内网 IP 。

几个特殊的 IP

  • 127.0.0.1 表示自己
  • localhost 通过 hosts 指定为自己
  • 0.0.0.0 不表示任何设备

端口

IP 有了,这时候我们还需要端口。一台机器可以提供很多服务,每个服务有一个号码,号码就是端口号 port 。

一个机器可以提供不同服务:

  • 要提供 HTTP 服务最好使用 80 端口
  • 要提供 HTTPS 服务最好使用 443 端口
  • 要提供 FTP 服务最好使用 21 端口
  • 一共有 65535 个端口

端口使用的其他规则

  • 0 到 1023 (2 的 10 次方减 1) 号端口是留给系统用的
  • 只有拥有了管理员权限后,才能使用这 1024 个端口
  • 其他端口可以给普通用户使用,比如 http-server 默认使用 8080 端口
  • 一个端口被占用,就只能换一个端口

IP和端口缺一不可

域名

域名就是对 IP 的别称,通过使用 ping 域名 命令来查看当前访问的域名,使用的 IP

  • 一个域名可以对应不同 IP,这个叫做均衡负载,防止一台机器扛不住
  • 一个 IP 可以对应不同域名,这个叫做共享主机

域名和 IP 通过 DNS 对应起来。通过 nslookup 域名 查看域名对应的 IP

输入一个域名的过程

  1. 浏览器向电信/联通提供的 DNS 服务器询问域名对应什么 IP
  2. 电信/联通会回答一个 IP
  3. 浏览器向对应 IP 的 80/443 端口发送请求
  4. 请求内容是查看域名网站首页

www.baidu.combaidu.com 不是同一个域名

  1. com 是顶级域名
  2. baidu.com 是二级域名(俗称一级域名)
  3. www.baidu.com 是三级域名(俗称二级域名)

所以两者是父子关系(www 是非常多余的)

  • 请求不同的页面。通过路径可以做到

  • 同一个页面,不同内容。可以通过查询参数做到。问号后面的内容为查询参数

  • 同一个内容,不同位置。可以通过锚点做到。

    • 锚点看起来有中文,实际不支持中文,中文会转换成其他字符
    • 锚点是无法在 Network 面板看到的,只和浏览器有关,因为锚点是不会传给服务器

关于 URL 的了解大致就先这些,关于 HTTP 协议,我将在下次详细介绍