通过几个问题来简要概括URL的概念。

1、URL 包含哪几部分,每部分分别有什么作用?

URL

URL:协议+域名或IP+端口号+路径+查询字符串+锚点
image.png

协议

HTTP协议(HyperText Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传输协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。
**

域名或IP

IP指的是Internet Protocal,只要在互联网中就至少有一个独特的IP。
主要约定了两件事
1、如何定位一台设备

2、如何封装数据报文,以跟其他设备交流
IP分为两类:

  1. 外网IP

    如何获取外网IP

    • 1、购买宽带
    • 2、购买路由器,连接上服务商的服务器,这时路由器上就会有一个【外网IP】 所有通过该路由器的设备的外网IP都相同
    • 注意:当路由器重启后,获得的外网IP可能会发生变化。(没有购买固定的IP)
    • 思考:你的手机电脑的外网IP都相同,其他的设备如何区分呢?
  2. 内网IP
    • 内网IP如何创建
      • 路由器会在内部创建一个内网,IP格式一般为:192.168.xxx.xxx 一般路由器会给自己分配一个好记的内网IP,如:192.168.1.1
      • 路由器会给内网中每一个设备分配一个不同的内网IP。
    • 路由器的功能
      • 路由器有两个IP,外网IP和内网IP
      • 内网中的设备可以互相访问,但不能直接访问外网
      • 内网中的设备想要访问外网,必须经过路由器中转
      • 外网中的设备可以互相访问,但是无法访问你的内网
      • 外网设备想要把内容送到内网,必须经过路由器
      • 内网和外网就像两个哥觉得空间,无法互通。唯一的联通点就是路由器
      • 路由器也被叫做网关
    • 几个特殊的IP
      • 127.0.0.1 表示自己
      • localhost通过hosts指定为自己
        • 通过改变hosts可以改变指向自己的地址
      • 0.0.0.0 不表示任何设别

域名就是对IP的别称

  • 举例
    • baidu.com对应什么IP 可以通过命令行输入ping baidu,com来查询

要点

  • 一个域名可以对应不同的IP例如百度在各地安置服务器,各服务器拥有着不同的IP。当用户访问百度时,会访问延迟较低的服务器,在不同地区的用户所访问的IP可能会有不同。
    • 这叫做均衡负载,防止一台机器扛不住
  • 一个IP可以对应不同域名
    • 这叫做共享主机,穷开发者会这么做

域名与IP如何联系起来?

  • 通过DNS
  • 过程
    • 1、在浏览器中输入域名
    • 2、浏览器会向电信供应商提供的DNS服务器询问所输入域名所对应的IP
    • 3、DNS服务器会回答一个IP(具体过程有些复杂,且跟前端没有太大关系,省略)
    • 4、浏览器向对应IP的80/443端口发送请求,请求的内容是查看该域名的网页
    • 5、得到页面
    • 为什么是80/443端口?
      • 服务器默认用80提供HTTP服务
      • 服务器默认用443提供HTTPS服务
      • 可以在开发者工具里看到具体的端口
  • 其他知识点
    • 思考:www.baidu.com和baidu.com是同一个域名吗? 不是
    • 两者是什么关系
      • com是顶级域名
      • baidu.com是二级域名
      • www.baidu.com是三级域名
      • 两者可以是一家公司,也可以不是一家公司

端口号

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

规则

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

路径

网页内容元件的具体地址,比如百度知道的Logo

查询字符串

查询字符串(URL参数)是指在URL的末尾加上用于向服务器发送信息的字符串(变量)。将“?”放在URL的末尾,然后再加上“参数=值”,想加上多个参数的话,使用“&”。以这个形式,可以将想要发送给服务器的数据添加到URL中。

锚点

加上锚点可以指定到页面上的某个元素,例如网站登录之后,回到登录前点选中的某个标签上,可以使用锚点来跳转回来。

2、DNS 的作用是什么,nslookup 命令怎么用

DNS是互联网的一项服务,它作为将域名和IP地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。简单的讲DNS就是翻译官,就像把www.baidu.com翻译成IP地址让机器理解。
nslookup命令用于查询DNS的记录,查看域名解析是否正常,在网络故障的时候用来诊断网络问题。
查询IP地址
nslookup最简单的用法是查询域名对应的IP地址,包括A记录、MX记录、NS记录CNAME记录。

  • 查询A记录:nslookup 域名
  • 查询MX记录:nslookup -q=mx 域名
  • 查询NS记录:nslookup -q=ns 域名
  • 查询CNAME记录:nslookup 域名

查询域名反向解析是否生效可以使用Windows下的nslookup命令
命令格式: nslookup -qa=ptr xxx.xxx.xxx.xxx
-qa=ptr说明查询类型是PTR也就是反向查询 后面请跟上你要做反向解析的IP地址 (反向解析是从IP查主机名的解析,所以不用与域名的解析混淆)
如下为一个正确PTR解析的输出结果
C:\Users\sony>nslookup -qt=ptr 203.86.5.67
服务器: ns.szptt.net.cn
Address: 202.96.134.133:53
非权威应答:
67.5.86.203.in-addr.arpa name = mail.idcsea.net
如果看到类型最后一行的红色部分说明反向解析已经成功。

3、IP 的作用是什么,ping 命令怎么用

IP的作用问题一已经回答,主要介绍下ping命令。
在网络中ping是一个十分强大的TCP/IP工具。它的作用主要为:

  1. 用来检测网络的连通情况和分析网络速度;
  2. 根据域名得到服务器IP;
  3. 根据ping返回的TTL值来判断对方所使用的操作系统及数据包经过路由器数量。

我们通常会用它来直接ping IP地址,来测试网络的连通情况。

4、域名是什么,分别哪几类域名

问题一中已经回答。