浅析URL

144 阅读4分钟

URL

网络和IP

IP全称为Internet Protocal

主要约定了两件事:

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

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

外网IP

路由器连上电信运营商的服务器,那么服务器就会有一个外网IP,比如14.17.32.211。这就是用户在互联网中的地址。

如果重启路由器,很有可能会重新分配一个外网IP,既路由器没有固定外网IP,除非花钱买。

内网IP

路由器会在家里创建一个内网,内网中的设备使用内网IP,一般这个IP的格式都是192.168.xxx.xxx,如192.168.1.1。

路由器会给每一个内网中的设备分配一个不同的内网IP,如电脑是192.168.1.2,手机是192.168.1.3,以此类推。

数字最大为255。

路由器的功能

现在路由器有两个IP,一个外网IP,一个内网IP。

内网中的设备可以互相访问,但是不能直接访问外网。内网设备想要访问外网,就必须经过路由器的中转。

外网中设备可以互相访问,但是无法直接访问到用户的内网。外网设备想要把内容送到内网,也必须通过路由器,也就是说内网和外网就像两个隔绝的空间,无法互通,唯一的联通点就是路由器。

所以路由器有时候也被叫做【网关】。

几个特殊的IP

  1. 127.0.0.1表示自己

  2. localhost通过hosts指定为自己

    C:\Windows\System32\drivers\etc\hosts,用管理员方式打开编辑器(如记事本),再打开hosts

  3. 0.0.0.0不表示任何设备

端口

有了IP还需要端口

一台机器可以提供很多服务,每个服务一个号码,这个号码就叫做端口号port

一个比喻:麦当劳提供两个窗口,一号快餐,二号咖啡,去快餐点咖啡会被拒绝,让去另外一个窗口,反之亦然。

一台机器可以提供不同服务,要提供HTTP服务最好使用80端口,要提供HTTPS服务最好使用443端口,要提供FTP服务最好使用21端口。一共有65535个端口(基本够用)。

可以使用维基百科查询应该使用什么端口。

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

总而言之,IP和端口缺一不可。

域名

域名就是对IP的别称

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

一个IP可以对应不同的域名,这个叫做共享主机,穷开发者会这么做。

域名和IP是通过DNS(Domain Name System域名系统)对应起来的。

当你输入qq.com,浏览器会向电信/联通提供的DNS服务器询问qq.com对应什么IP,电信/联通会回答一个IP(具体过程很复杂,不研究),然后浏览器才会向对应IP的80/443端口发送请求,请求内容是查看qq.com的首页。

可以使用nslookup命令查看域名对应的ip。

如何请求不同的页面:

路径可以做到

使用不同的路径到达不同的页面

developer.mozilla.org/zh-CN/docs/…

developer.mozilla.org/zh-CN/docs/…

同一个页面,不同内容:

查询参数可以做到

不同的参数对应不同的内容

www.baidu.com/s?wd=hi

www.baidu.com/s?wd=hello

同一个内容,不同位置:

锚点可以做到

developer.mozilla.org/zh-CN/docs/…

developer.mozilla.org/zh-CN/docs/…

注意:锚点看起来有中文,实际不支持中文。#参考书会变成#%E5%8F%82%E8%80%83%E4%B9%A6。锚点无法在Network面板看到,因为锚点不会传给服务器。

URL

Uniform Resource Locator统一资源定位符

协议+域名或IP+(端口号)+路径+查询字符串+锚点

https默认端口443