浅析URL

IP

ip 主要约定了两件事:如何定位一台设备?如何封装数据报文,以跟其他设备交流?

只要我们处在互联网中我们就至少有一个独特的 IP

内网与外网 IP

当我们通过家里的路由器进行上网时,实际上网络返回的请求是先到路由器,路由器再转发给我们的设备,路由器就充当我们与外界网络交互的工具。路由器分配给我们设备的 IP 就是内网 IP,一般来说这个 IP 格式都是 192.168.xxx.xxx 。内网中的设备都可以相互访问。而外网 IP 就是电信/联通之类的运营商给你分配的 IP,只要路由器连上网就会有一个外网 IP。这个外网 IP 不是固定的,当我们重启路由器和光猫,得到的 IP 很有可能就会不一样

几个特殊的 IP

  • 127.0.0.1 表示自己
  • localhost 通过 hosts 指定为自己
    • 可以通过修改 hosts 文件将自己定义的名称指定为 自己 ,例如:可以将 zzf 指定为自己
  • 0.0.0.0 不表示任何设备

端口 port

我们已经知道一台机器的 IP,但是还不能访问它,我们还需要端口

一台机器可以提供多种服务,并且每个服务都对应一个号码,这个号码就是我们所说的端口。

一个简单的比喻

麦当劳提供两个窗口,一号快餐,二号咖啡。当我们去一号窗口点咖啡,会被拒绝,让你去二号点咖啡。去咖啡窗口点快餐也是一样。

一台机器可以提供多种服务

  • HTTP 服务默认 80 端口
  • HTTPS 服务默认 443 端口
  • FTP 服务默认 21 端口
  • 一共有 65535 个端口

要只要应该用什么端口,可以去维基百科搜索,他会告诉你每个端口该做什么。

规则

  • 0~1023 端口是留给系统使用的
  • 只有拥有管理员权限才能使用这预留个系统的端口
  • 其他端口可以给普通用户使用

更多端口的详细信息,可以访问链接

域名

知道 IP 和端口之后,可以正确的享受相应的 服务 了。但是,我们每次都通过 IP 和端口去访问很麻烦,毕竟IP 这串数字太难记了。因此,域名诞生了,域名就是对 IP 的别称。

我们访问百度的 IP,就不用找它的 IP了,可以直接使用 baidu.com 来替代。我们也可以使用 ping badu.com 命令,根据域名获取到它对应的 IP。

知识点

  • 一个域名可以对应不同的 IP,这样是负载均衡,防止一台机器扛不住
  • 一个 IP 也可以对应不同的域名,这个叫做共享主机,穷开发者才会这样做

DNS

域名和 IP 的关系是如何绑定起来的呢?这个就要靠 DNS 了,它相当于过去的电话本,你要找「张三」的手机号码,就需要找到「张三」这个人,手机号码也同时找到了。

我们默认使用的 DNS 就是电信/联通之类的运营商为我们提供的,我们也可以自己修改 DNS。

过程:当我们使用浏览器访问 baidu.com ,DNS 会返回它对应的 IP,然后浏览器向对应的 IP 的 80/443 端口发送请求,然后返回百度首页的内容。

获取网页内容规则

  • 我们可以通过改变访问地址路径做到,获取不同的内容,假设有该 zzf.com  域名
    • zzf.com/docs 获取文档内容
    • zzf.com/images 获取图片内容
  • 根据修改参数可以达到,同一页面不同内容
    • www.baidu.com/s?wd=hi 
    • www.baidu.com/s?wd=hello

     

  • 可以使用锚点做到,同一内容不同位置
    • zzf.com#教程 ,定位到该页面的「教程」位置
    • zzf.com#参考书 ,定位到该页面的「参考书」位置

注意事项:虽然锚点是在请求地址中的,但是锚点不会传给服务器。

curl 命令

  • curl -v http://baidu.com 输出通信的整个过程,包括获取 IP,建立 tcp 连接,发送请求,响应内容,关闭 tcp 链接,结束访问。

更详细的使用规则可以访问链接


浅析URL
http://wszzf.top/2021/04/03/浅析 URL/
作者
Greek
发布于
2021年4月3日
许可协议