浅析 URL

155 阅读3分钟

IP:网际协议,全称Internet Protocal。

主要有两个功能:标识主机或者网络和寻址。 约定了:

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

IP分为内网和外网。


外网IP

可在ip138.com可查看外网IP,而重启路由器后,可能会重新分配一个外网IP。

内网IP

一般格式为192.168.xxx.xxx,一般路由器IP为192.168.1.1。

几个特殊的IP

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

hosts文件

Windows 系统中,hosts 位于 C:\Windows\System32\drivers\etc\hosts 。在 macOS / Linux系统中,hosts 位于 /etc/hosts。

端口Port

一台机器可以提供不同服务。

  • 要提供HTTP服务最好使用80端口。
  • 要提供HTTPS服务最好使用433端口。
  • 要提供FTP服务最好使用21端口。
  • 一共有65535个端口。(基本上够用)

端口规则

  • 0到1023号端口是留给系统使用的,拥有了管理员权限后,才能使用0-1023号端口。

  • 其他端口可以给普通用户使用。

  • http-server默认使用8080端口。

  • 端口被占用,只能用另一个端口。

    IP和端口缺一不可!


域名

域名可以说是一个IP地址的别称,为了便于记忆。

可以ping 域名来查看IP地址。

  • 一个域名可以对应不同的IP(负载均衡),大公司常用,可防止一台机器扛不住。
  • 一个IP可以对应不同域名(共享主机),小公司常用,公用服务器。

域名类型

  • 顶级域名: .com
  • 二级域名:baidu.com(俗称一级域名)
  • 三级域名: www.baidu.com(俗称二级域名)

www.xxx.com和xxx.com可能是同一家公司,也可能不是,而且www非常多余。

DNS

DNS(Domain Name System)将域名和IP对应起来。

比如:

  1. 当你输入baidu.com时,你的浏览器会向运营商提供的服务器询问baidu.com对应什么IP
  2. 运营商回复IP后,浏览器才会向相应IP的80/433端口发送请求。
  3. 请求的内容即为baidu.com的首页。

80或443窗口

  • 服务器默认使用80提供http服务。
  • 服务器默认使用443提供https服务。
  • 可在开发者工具里查看具体的端口。

路径

用于请求不同的页面,路径是没有后缀,在开发者工具Network中可查看。

例如:

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

查询参数

而同一页面,同一路径,也可以显示不同内容,主要取决于查询参数。

锚点

同一页面,同一查询结果,同一内容的不同位置。

例如:

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

notes:

  • 锚点看起来有中文,但实际不支持中文(通过编码识别)。
  • 锚点无法在Network面板看到,因为锚点不会传给服务器。

URL

完整的URL包括[协议类型]://[访问资源需要的凭证信息]@[服务器地址]:[端口号]/[资源层级UNIX文件路径][文件名]?[查询参数]#[锚点]

其中[访问凭证信息]、[端口号]、[查询参数]、[锚点]都属于选填项。

HTTPS默认端口443,HTTP默认端口80。