乐趣区

浅析URL

浅析 URL

URL 概览

  • URL:Uniform Resource Locator 的缩写。译为“统一资源定位符”
  • URL 的组成:协议 + 域名 + 端口 + 路径 + 查询参数 + 锚点
  • URL 举例:https://www.baidu.com/s?wd=he…

    • 协议:https
    • 域名:www.baidu.com
    • 路径 /s:
    • 查询参数:wd=hello&rsv_spt=1
    • 锚点:#5(不在 network 中显示,只和本地有关)
    • 端口:443(默认)

IP

  • Internet protocol:网络协议
  • 李爵士发明的三样东西:

    • www(万维网):URL+HTTP+HTML
  • IP 的两个作用

    • 定位一台设备
    • 定义了如何封装数据,以及和其他设备交流

(一)外网 IP

  • 路由器连上电信的服务器,那么路由器就会有一个外网 IP;
  • 如果重启路由器,就有可能被分配到一个新的 IP:也就是说没有固定的外网 IP

(二)内网 IP

  • 路由器会创建一个内网,并给自己分配一个好记的域名,一般是 192.168.1.1
  • 路由器会给每个连接路由器的设备分配一个 IP

(三)路由器的功能:

  • 内网中的设备可以互相访问,但不能直接访问外网。想要访问外网就必须通过路由器
  • 外网中的设备也可以互相访问,但不能直接访问内网,想要把内容送到内网,也需要通过路由器
  • 内网和外网是两个独立的空间,无法互通,唯一的联通点就是路由器
  • 路由器有时候也被叫做网关

(四)几个特殊的 IP

  1. 127.0.0.1 表示自己
  2. localhost 表示 hosts 指定为自己
  3. 0.0.0.0 不表示任何设备

端口

  • 一台机器可以提供很多服务:每个服务一个号码,这个号码叫做端口号 port
  • 一台机器可以提供不同的服务:

    • HTTP 服务:使用 80 端口
    • HTTPS 服务:使用 443 端口
    • FTP 服务:使用 21 端口
    • 一共 65535 个端口
  • 端口使用的规则

    • 0 到 1023 号端口是留给系统用的
    • 你只有拥有了管理员 权限后,才能使用 1024 个系统端口,其他端口可以给用户使用
    • 比如 http-server 默认使用 8080 端口
    • 一个端口如果被占用,那么只能使用另一个端口

tips:端口和 IP 缺一不可

域名

  • 域名就是 IP 的别称

记忆点:
(1)一个域名可以对应不同 IP(均衡负载)
(2)一个 IP 可以对应不同域名(共享主机)
(3)均衡负载:防止一台机器扛不住
(4)共享主机:穷开发者会这么做,公用一个主机

域名和 IP 是如何对应起来的?——DNS

  • DNS(Domain Name System,域名系统 / 域名服务)
  • 当输入 baidu.com 并点击回车:

    1. 你的浏览器向电信 / 联通提供的 DNS 服务器询问 www.baidu.com 对应什么 IP
    2. 电信 / 联通会回答一个 IP
    3. 浏览器向对应的 443/80 端口发送请求
    4. 请求内容为 baidu.com 的首页
  • 为什么是 80、443 端口?

    • 服务器默认用 80 端口提供 http 服务
    • 服务器默认用 443 端口提供 https 服务
    • 可以在开发者工具中看到具体的端口(network)

域名等级和 www

com 是顶级域名
baidu.com 是二级域名
www.baidu.com 是三级域名

  • www 多余吗?非常多余
  • 理论上讲 xxx.com 和 www.xxx.com 可以对应不同的公司

如何查看域名对应的 IP 地址?

在命令行中输入 ping xxx
即可得到 xxx 域名对应的 IP 地址了
在命令行中输入 nslookup xxx
就可以看到 xxx 域名对应的所有地址了

http 相关概念

  • HTTP 全称:HyperText Transfer Protocol
  • HTTP 作用:规定请求的格式和响应的格式
退出移动版