在之前的 HTML入门笔记 中提到过,网页最早是由 URL + HTML + HTTP 三部分组成的。本篇文章,我们来对 URL 做一个简要的介绍。
URL的组成部分:协议 + 域名或 IP + 端口号 + 路径 + 查询参数 + 锚点
IP
首先我们来介绍一下什么是 IP,IP 全称是 Internet Protocol 。主要约定了两件事:
- 如何定位一台设备
- 如何封装数据报文,以跟其他设备交流
只要在互联网中,就有至少一个独特的 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
输入一个域名的过程
- 浏览器向电信/联通提供的 DNS 服务器询问域名对应什么 IP
- 电信/联通会回答一个 IP
- 浏览器向对应 IP 的 80/443 端口发送请求
- 请求内容是查看域名网站首页
www.baidu.com
和 baidu.com
不是同一个域名
- com 是顶级域名
- baidu.com 是二级域名(俗称一级域名)
- www.baidu.com 是三级域名(俗称二级域名)
所以两者是父子关系(www 是非常多余的)
-
请求不同的页面。通过路径可以做到
-
同一个页面,不同内容。可以通过查询参数做到。问号后面的内容为查询参数
-
同一个内容,不同位置。可以通过锚点做到。
- 锚点看起来有中文,实际不支持中文,中文会转换成其他字符
- 锚点是无法在 Network 面板看到的,只和浏览器有关,因为锚点是不会传给服务器
关于 URL 的了解大致就先这些,关于 HTTP 协议,我将在下次详细介绍