实验报告-1

本文详细介绍了网络通信的基础知识,包括ipconfig命令用于查看和配置网络连接,ping命令用于测试网络连通性,tracert命令追踪数据包路径,ARP协议解析IP与MAC地址,以及DNS系统如何将域名转换为IP地址。通过一系列实操,读者可以理解网络诊断和通信的基本原理,并学会排查网络问题。
摘要由CSDN通过智能技术生成

验证性实验

本部分共有 8 个实验,实验 1~7 使用 Cmder 在命令行窗口完成,实验 8 使用浏览器完成。

ipconfig

✍ ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。

🌏 参考

实作一

使用 ipconfig/all 查看自己计算机的网络配置,尽可能明白每行的意思,特别注意 IP 地址、子网掩码 Subnet Mask、网关 Gateway。
1-1
1-2
IPv6地址:240e:430:1e90:1268:80d:21d6:e64c:c8f1

IPv4地址:192.168.43.236

子网掩码:255.255.255.0

默认网关:fe80::d0b8:86ff:fe31:956a%16 (网关IPv6地址)

​ 192.168.43.1 (网关IPv4地址)

IP 地址:因特网上的每台计算机和其他设备都规定有一个唯一的地址,叫做“IP地址”。由于有这种唯一的地址,保证了用户在联网的计算机上操作时,能够高效地找到需要传输信息的计算机。IP地址有两大类,IPV4和IPV6。通常我们所说的IP地址是IPV4地址。由于IPV4中规定IP地址长度为32位,可以组成约3.38亿个地址,但仅我国移动互联网用户有7.24亿,所以IPV4已经无法满足需求。于是出现了IPV6。IPV6中规定IP地址长度为128位,从而能够支持更大的地址空间。

子网掩码 Subnet Mask:子网掩码又叫网络掩码、地址掩码,它用来指明一个IP地址的哪些位标识的是主机所在的子网以及哪些为标识的是主机的位掩码。子网掩码不嫩那个单独存在,它必须结合IP地址一起使用。子网掩码的作用是将某个IP地址划分成网络地址和主机地址两部分,是一个32位地址。通过计算机的子网掩码判断两台计算机是否属于同一网段的方法是,将计算机十进制的IP地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。

网关 Gateway:在不同网络号中间起沟通作用的设备,往往是路由器,在局域网中也可能是三层交换机或是配置了路由功能的服务器。截屏时本机连接了手机开的热点。默认网关的地址有两种表现形式,分别是IPV4和IPV6。192.168.43.1是开热点的手机的虚拟IPV4地址,fe80::d0b8:86ff:fe31:956a%16是开热点的手机的虚拟IPV6地址。

实作二

使用 ipconfig/all 查看旁边计算机的网络配置,看看有什么异同。
1-3
IPv6地址:240e:430:1e90:1268:f0d9:8f0:5cf2:4407

IPv4地址:192.168.43.7

子网掩码:255.255.255.0

默认网关:fe80::d0b8:86ff:fe31:956a%20

​ 192.168.43.1

是否处于同一局域网的判断标准:通过计算机的子网掩码来进行判断,将计算机十进制的IPv4地址和子网掩码转换为二进制的形式,然后进行二进制“与”(AND)计算(全1则得1,不全1则得0),如果得出的结果是相同的,那么这两台计算机就属于同一网段。

✎ 问题

你的计算机和旁边的计算机是否处于同一子网,为什么?

本机与旁边的计算机处于同一局域网之中。因为本机的IPV4地址与子网掩码进行"与(AND)"计算后为192.168.43.0。旁边计算机的IPV4地址与子网掩码进行"与(AND)"计算后仍为192.168.43.0。所以处于同一局域网之中。且两台计算机的默认网关的IPV4地址相同,进一步验证了这一结论。

ping

✍ PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 。ping 是工作在 TCP/IP 网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态。

🌏 参考

实作一

要测试到某计算机如 重庆交通大学 Web 服务器的连通性,可以使用 ping www.cqjtu.edu.cn 命令,也可直接使用 IP 地址。

请掌握使用该命令后屏幕显示的反馈回来信息的意思,如:TTL、时间等。

2-1
ping命令通常用来作为网络可用性的检查,可以对一个网络地址发送测试数据包,看该网络地址是否有响应并统计相应时间,以此测试网络。

正在Ping www.cqjtu.edun.cn 具有32字节的数据的含义是本机正在给IP地址为www.cqjtu.edun.cn的服务器发送一个32字节的数据并等待它的回应。

来自218.70.34.236的回复:字节=32 时间=4ms的含义是在本机给IP地址为218.70.34.236的服务器发送一个具有32字节的数据后,服务器也给本机回复了一个具有32字节的数据,这是Ping命令起到的作用。且在本机发送一个32字节的数据后接收到对方回复的数据包这一整个过程所用时间为4ms。出现这语句表明本机到IP地址为:218.70.34.236的服务器之间的线路是联通的。

TTL=58的含义为:IP地址为218.70.34.236的服务器到本机一共经过了 64 - 58 = 6 个中间路由器。具体的操作流程为:数据包每经过一台路由器或交换机,则路由器或交换机将该数据包的TTL-1,当该数据包的TTL=0时,路由器或交换机则会将该数据包丢掉,以免造成数据包的无限传递和网络拥堵。包从主机发出时,TTL设置为64或者128。显而易见,本机收到218.70.34.236服务器的包的TTL初始值为64。到达本机时TTL=58,所以一共经过 6 个中间结点。

数据包:已发送=4,已接收=4,丢失=0的含义是本机给IP地址为218.70.34.236的服务器发送了4个数据包,接收到其回复的四个包,传输过程的丢失量为0.

最短4ms,最长134ms,平均43ms的含义是从本机发送数据包到接收服务器回复的数据包所用时长最短的一次是4ms,最长的一次是134ms,平均是43ms。表示的是数据包往返行程所用的时间。

实作二

使用 ping/? 命令了解该命令的各种选项并实际使用。
在这里插入图片描述

✎ TroubleShooting

假设你不能 ping 通某计算机或 IP,但你确定该计算机和你之间的网络是连通的,那么可能的原因是什么?该如何处理能保证 ping 通?

可以采用由近及远的连通性测试来确定问题所在:

1.首先ping本机的IP地址,测试自己计算机的状态,如果OK,则说明本机网络软件硬件工作正常,否则,问题在本机,检查本机TCP/IP配置即网卡状态等

2.其次ping处于同一局域网的另外一台计算机的IP地址,测试两者之间的连通性,如果OK,则说明局域网内部工作正常,否则问题再本机网络出口到交换机之间,检查本机网卡到交换机的连线。

3.ping内网出口的网关的IP地址,测试网关的连通性,如果OK,则说明本子网出口工作正常,能连接到通信子网之中,否则,问题在网关,可以报告给网管。

4.ping百度服务器的IP地址,测试到百度的连通性,如果OK,那么就连接成功,否则,问题在网关之外,可能在通信子网之中,可能在百度服务器上,此时可以报告给网关或者百度客服。
📬 秘籍

当你的网络出现故障不能访问某计算机如 14.215.177.39 (百度的 IP 地址之一 ) 时,我们一般可采用由近及远的连通性测试来确定问题所在。现假设你的 IP 是 192.168.1.89,你旁边计算机的 IP 是 192.168.1.64,网关的 IP 是 192.168.1.1 ,那么过程如下:

ping 127.0.0.1 ,测试自己计算机的状态,如果 OK,那么说明本机网络软件硬件工作正常,否则,问题在本机,检查本机 TCP/IP 配置即网卡状态等
ping 192.168.1.64 ,测试到旁边计算机的连通性,如果OK,那么说明本子网内部工作正常,否则,问题在本机网络出口到交换机之间,检查本机网卡到交换机的连线等
ping 192.168.1.1,测试到网关的连通性,如果 OK,那么说明本子网出口工作正常,否则,问题在网关,这是你无能为力的事情,报告给网管
ping 14.215.177.39,测试到百度的连通性,如果 OK,那就 OK,否则,问题在网关以外,这也是你无能为力的事情,报告给网管或者李彦宏?

✎ TroubleShooting

假设在秘籍中进行的网络排查中,ping 百度的 IP 即 ping 14.215.177.39 没问题,但 ping 百度的域名即 ping www.baidu.com 不行,那么可能的原因是什么?如何进行验证和解决?

另外,经常有同学问到的:“能上 QQ,但不能上网” 跟这个问题的原因是相似的。

域名ping不通说明该域名无法解析。DNS负责域名的解析。解决方案:
首先清空一下DNS缓存,然后重置电脑的DNS为电信的 61.132.163.68 或者其他。如果还是Ping不通 则可联系域名服务的服务商。
能上 QQ,但不能上网是因为QQ不需要DNS解析域名,DNS出问题不会影响QQ

课外浏览
ping 这个程序曾经是有 bug 的,比如使对方缓冲区溢出导致死机,或死 ping 对方以达到耗费对方主机的系统和网络资源等,请查阅相关资料了解。

tracert

✍ TRACERT (Trace Route 的组合缩写),也称为路由追踪,该命令行程序可用于跟踪 Internet 协议 (IP) 数据包传送到目标地址时经过的路径。

🌏 参考

实作一

要了解到某计算机如 www.baidu.com 中间经过了哪些节点(路由器)及其它状态,可使用 tracert www.baidu.com 命令,查看反馈的信息,了解节点的个数。

可通过网站 http://ip.cn 查看这些节点位于何处,是哪个公司的,大致清楚本机到百度服务器之间的路径。

3-1
节点分析:
10.160.255.254:内网IP

172.19.2.2:内网IP

222.176.89.65:中国重庆重庆市电信

222.176.6.121:中国重庆重庆市电信

219.135.96.106:中国广东省广州市电信

121.14.67.142:中国广东省广州市电信

14.215.177.38:中国广东省广州市电信

大致路径:

本机发送的数据在物理层变为比特流后,流经了学校的两个内网路由器,然后流经了学校出口处电信服务商代理的路由器,再流经重庆市电信服务商的总路由器(传到或接收外省数据的路由器,可能位于重庆大学处),流经广东广州电信服务商的总路由器(传到或接收外省数据的路由器),最后流经两个电信服务商的路由器后流到百度的路由器中。

实作二

ping.pe 这个网站可以探测从全球主要的 ISP 到某站点如 https://qige.io 的线路状态,当然也包括各线路到该主机的路由情况。请使用浏览器访问 http://ping.pe/qige.io 进行了解。

3-23-3
✎ 问题一

tracert 能告诉我们路径上的节点以及大致的延迟等信息,那么它背后的原理是什么?本问题可结合第二部分的 Wireshark 实验进行验证。

首先,tracert发出一个TTL=1的IP数据包,当路径上的第一个路由器收到这个数据包时,他将TTL-1,此时TTL将会变为0,在前面的实验中分析到,当TTL变为0时,路由器将会扔掉这个包,并送回一个TTL过期消息(消息中包含发送这个IP 包的源地址和该路由器的IP地址),tracert收到这个消息后,便知道了存在于下一个节点的路由器的信息。接着tracert再送出另一个TTL是2的包,探测连通路径上的第2个路由器…重复这个动作直到持续到某个包抵达目的地。当包到达目的地后,该主机则不会返回TTL过期消息。

✎ 问题二

在以上两个实作中,如果你留意路径中的节点,你会发现无论是访问百度还是棋歌教学网,路径中的第一跳都是相同的,甚至你应该发现似乎前几个节点都是相同的,你的解释是什么?

从本机到达百度或者棋歌教学网,必须首先需要经过本机所在子网的出口路由器,所以第一跳都是相同的。其次由于学校的网络布局方式是星形,所以从本栋教学楼的路由器到学校的出口路由器之间的路径是一样的。所以前几个节点都是相同的。

✎ 问题三

在追踪过程中,你可能会看到路径中某些节点显示为 * 号,这是发生了什么?

tracert有一个固定的时间来等待响应,即ICMP TTL的到期消息。如果在这个时间内没有收到ICMP TTL的过期消息,它将会打印出一些列的*号表明,在这个路径上,将接收TTL的这个设备不能在给定时间内发出ICMP TTL过期消息的响应。

ARP

✍ ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。

🌏 参考

实作一

运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。

然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP 没有出现在 arp 缓存中,或者使用 arp -d * 先删除全部缓存),再次查看缓存,你会发现一些改变,请作出解释。

4-1
4-2
arp缓存缓存了一些IP地址和其对应的物理地址以及缓存类型。

改变:之前ping的主机IP地址和其物理地址出现在了arp缓存中。

解释:可以从arp的原理出发进行解释。某机器A要向主机B发送报文时,会查询本地的ARP缓存表,找到B的IP地址和其对应的MAC地址后就会进行数据传输。如果未找到,则A会以广播的形式发送一个arp请求报文(arp广播帧),该报文包含主机A的IP地址和物理地址和主机B的IP地址,所有同一子网中的联网主机包括B都会收到arp请求,但只有主机B识别自己的IP地址,并向A发回一个arp响应报文,包含B的MAC地址。A接收到B的答应后,就会更新本地的arp缓存,接着使用这个MAC地址发送数据。为了加快通信的速度,最近常用的MAC地址与IP的转换是依靠本机中建立的一个用来记录常用主机IP-MAC映射表,即ARP表。

上述分析是建立在主机A和主机B在同一子网的条件下,如果A和B不在同一子网,则A首先跟子网的出口路由器进行连接,与出口路由器之间的通信类似。

实作二

请使用 arp /? 命令了解该命令的各种选项。
4-3

实作三

一般而言,arp 缓存里常常会有网关的缓存,并且是动态类型的。

假设当前网关的 IP 地址是 192.168.0.1,MAC 地址是 5c-d9-98-f1-89-64,请使用 arp -s 192.168.0.1 5c-d9-98-f1-89-64 命令设置其为静态类型的。

5-4

🗣 TroubleShooting

你可能会在实作三的操作中得到 “ARP 项添加失败: 请求的操作需要提升” 这样的信息,表示命令没能执行成功,你该如何解决?

以"ARP 项添加失败: 请求的操作需要提升" 作为关键字在浏览器中搜索,具体的解决过程见网页
arp -s命令报错解决方案

按照网页中提供的解决方式,设置为静态路由:

5-5

✎ 问题

在实作三中,为何缓存中常常有网关的信息?

我们将网关或其它计算机的 arp 信息设置为静态有什么优缺点?

网关是该子网的出入口,子网与外界进行数据传输都要经过网关,为了提高数据的传输速度,通常会在缓存中缓存网关。

将网关或其他计算机的arp信息设置为静态

优点:

  1. 占用的CPU处理时间少
  2. 提高了主机到网关或者其他设置为静态的主机之间数据传输的速度。

缺点:

  1. 配置和维护耗时长
  2. 配置过程容易出错
  3. 当路由信息发生变化时需要管理员进行维护
  4. 不能随着网络的升级而扩展,维护较为麻烦
  5. 需要对整个网络的结构有深入的了解。

课外浏览
ARP 协议在制定之初是没有考虑安全性的,导致现在广泛提及的"网络扫描"、“内网渗透”、“中间人拦截”、“局域网流控”、"流量欺骗"等等其实都跟 ARP 欺骗有关。

那么什么是 ARP 欺骗,发生ARP 欺骗后会有什么后果,我们该如何进行防范?这里给出维基百科,其它的请查阅相关资料了解。

从影响网络连接通畅的方式来看,ARP欺骗分为二种,一种是对路由器ARP表的欺骗;另一种是对内网PC的网关欺骗。

第一种ARP欺骗的原理是——截获网关数据。它给网关路由器一系列错误的内网MAC地址,并按照一定的频率不断进行,使真实的地址信息无法通过更新保存在路由器中,结果路由器的所有数据只能发送给错误的MAC地址,造成正常PC无法收到信息。如果错误的MAC地址为攻击方的MAC,则攻击方能获取发给该子网其他主机的信息。

第二种ARP欺骗的原理是——伪造网关。它的原理是建立假网关,让被它欺骗的PC向假网关发数据,而不是通过正常的路由器途径上网。在PC看来,就是上不了网了,“网络掉线了”。且攻击方如果将假网关设置为攻击方主机,则能获取所有需要发出该子网的数据信息。如果攻击方又将这些数据发送给真网关,则子网中的主机能正常上网,但所有的网上冲浪的数据都将被攻击方所截获。

DHCP

✍ DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:

用于内部网或网络服务供应商自动分配 IP 地址给用户
用于内部网管理员对所有电脑作中央管理
简单的说,DHCP 可以让计算机自动获取/释放网络配置。

🌏 参考

实作一

一般地,我们自动获取的网络配置信息包括:IP 地址、子网掩码、网关 IP 以及 DNS 服务器 IP 等。使用 ipconfig/release 命令释放自动获取的网络配置,并用 ipconfig/renew 命令重新获取,了解 DHCP 工作过程和原理。
5-1
5-2
DHCP工作过程和原理:

见博客 DHCP工作过程和原理

🗣 TroubleShooting

如果你没能成功的释放,请思考有哪些可能的原因并着手进行解决?

可能是中继的软件问题,没有开启DHCP的服务。解决方法:在主机命令行窗口中输入" sc config DHCP start= AUTO"重启DHCP服务。

✎ 问题

在Windows系统下,如果由于某种原因计算机不能获取 DHCP 服务器的配置数据,那么Windows将会根据某种算法自动配置为 169.254.x.x 这样的 IP 地址。显然,这样的 IP 以及相关的配置信息是不能让我们真正接入 Internet 的,为什么?既然不能接入 Internet,那么Winodws系统采用这样的方案有什么意义?

自动配置的IP地址一个是为了告诉主机该子网的DHCP服务器由于某种原因无法正常工作,二个是虽然自动配置的IP地址无法实现本机与外网的通信但是能让该主机能与子网中的其他主机正常通信。

📬 秘籍

在我校不少地方如教室,计算机都采用了 DHCP 来获得网络配置。假如某天因 DHCP 服务器问题从而不能获得网络配置,那么我们可以查看隔壁教室计算机的配置信息来手动进行网络配置,从而使该计算机能够接入 Internet。

经常的,在一个固定地方的网络配置我都喜欢采用 静态/手动配置,而不是动态 DHCP 来进行。你能想到是什么原因吗?

使用动态DHCP配置时主机的所分得的IP地址经常会变动,静态配置IP地址一般不会发生改变。当IP地址经常变动时,网络活动也将会经常变化,如果涉及到将本机作为服务器对外提供服务将会十分繁琐。例如使用花生壳软件实现本机作为服务器对外提供服务时,如果本机IP地址变换频繁,则会导致每次打开服务器都需要配置网络IP。

课外浏览
DHCP也是一个没有考虑安全性的并且使用广泛的一个协议。比如,因为 DHCP 维护的地址池是有限的,那么我可以不停的发出 DHCP 请求,从而导致 DHCP 地址耗尽。然后我自己再运行一个 DHCP 服务器来提供虚假的网络信息,特别是伪造的网关和 DNS 信息。请查阅相关资料了解。

netstat

✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。

netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。

🌏 参考

实作一

Windows 系统将一些常用的端口与服务记录在 C:\WINDOWS\system32\drivers\etc\services 文件中,请查看该文件了解常用的端口号分配。
6-1
6-10
6-11
6-12
6-13
由图可知,echo分配了端口7,http网页服务分配了端口80,https网页服务分配了端口443,sqlserver数据库分配了端口1433。

实作二

使用 netstat -an 命令,查看计算机当前的网络连接状况。更多的 netstat 命令选项,可参考上面链接 4 和 5 。
6-2
6-3

📬 秘籍

打开的计算机端口,就是向 Internet 打开的一个通道。通过 netstat 命令,我们可以了解当前计算机哪些端口是打开的,从而找出一些恶意后台程序,分析其所作所为,并且可以进一步将相关端口关闭,降低安全风险。

DNS

✍ DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。

🌏 参考

实作一

Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0.1 。请查看该文件看看有什么记录在该文件中。
7-1
该文件中保存了一条记录 127.0.0.1 activate.navicat.com ,含义为将域名为activate.navicat.com解析为127.0.0.1(本机)。还有一条被注释了的记录值得注意 127.0.0.1 localhost 这条记录虽然被注释了,但是实际上计算机会将localhost解析为127.0.0.1

实作二

解析过的 DNS 记录将会被缓存,以利于加快解析速度。请使用 ipconfig /displaydns 命令查看。我们也可以使用 ipconfig /flushdns 命令来清除所有的 DNS 缓存。

查看DNS缓存的记录:
7-2
清空DNS缓存:
7-3

实作三

使用 nslookup qige.io 命令,将使用默认的 DNS 服务器查询该域名。当然你也可以指定使用 CloudFlare(1.1.1.1)或 Google(8.8.8.8) 的全球 DNS 服务器来解析,如:nslookup qige.io 8.8.8.8,当然,由于你懂的原因,这不一定会得到正确的答案。
7-4
7-5

📬 秘籍

当我们使用浏览器上网时,或多或少的会看到一些广告。某些网站的广告是非常没有节操的,所以我们一般可以通过安装浏览器插件如 AdGuard、AdBlocker 等来拦截和过滤。

这种方法简单方便有效,不过有一定安全或隐私问题,因为该插件实时知道你访问的 URL。

假设不使用这种第三方的插件,希望自己完全控制,那么就请考虑在我们前面提到的 hosts 文件中添加 DNS 记录。有自愿者时时在维护全球正确的 DNS 记录文件

🗣 TroubleShooting

上面秘籍中我们提到了使用插件或自己修改 hosts 文件来屏蔽广告,思考一下这种方式为何能过滤广告?如果某些广告拦截失效,那么是什么原因?你应该怎样进行分析从而能够成功屏蔽它?

通过将127.0.0.1广告接收链接设置为广告推送链接,从而广告链接就不放访问到本机,而是它自己的服务器。广告拦截失效可能是因为有个跨服务器访问问题,可以使用adsafa(广告管家)解决这个跨服务器访问的问题。

课外浏览
我们常说的 DNS 欺骗、DNS 劫持、DNS 毒化等都与 DNS 的安全性相关。请查阅相关资料了解其发生原因以及如何进行防范。

另外考虑去一些大的 Internet 服务公司购买一个属于自己的域名,构建自己的 Internet 空间。

DNS污染分为主动污染和被动污染。主动污染是指DNS服务器刻意地将一些域名对应的正确的IP地址改为错误的IP地址(有可能改为黑洞IP),由于你懂的原因,我国DNS服务器有主动污染的情况。被动污染是指DNS服务器的防火墙被攻破后DNS记录被恶意更改的情况。

DNS欺骗可以是当你向DNS服务器发送请求时,其他恶意主机传给你错误的DNS解析记录,或者恶意主机伪造网关来进行欺骗。

防范方式:主要是在技术层进行防范,比如系统生成一个唯一的识别码,只有双方才能知晓,这样便能分辨出真假DNS记录。

cache

✍ cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。

浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。

🌏 参考

实作一

打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl + Shift + I 组合键打开开发者工具,选择 Network 面板后刷新页面,你会在开发者工具底部看到加载该页面花费的时间。请进一步查看哪些文件被 cache了,哪些没有。
8-1
加载该页面花费了226ms。缓存了一些样式文件、图片和JS文件等。
在这里插入图片描述

实作二

接下来仍在 Network 面板,选择 Disable cache 选项框,表明当前不使用 cache,页面数据全部来自于 Internet,刷新页面,再次在开发者工具底部查看加载该页面花费的时间。你可比对与有 cache 时的加载速度差异。

8-5
没有cache时加载页面花费了1.02s,而有cache时加载页面只花费了226ms。有cache时网页的加载速度比没有cache时快接近4倍。cache可以极大地加快网页的加载速度。

📬 秘籍

你的计算机可能还在使用 XX 管家,XX 卫士之类的垃圾软件,那么它可能就会在某些时候提示你计算机的垃圾文件有多少多少,请清理(其实是它本身应该被清理!)之类的弹窗。如果你查看一下它判断的所谓垃圾文件,你会发现大多都是浏览器的缓存,而你已经明白了这些缓存文件的作用。所以,清理吗?
不应该清除,浏览器缓存可以加快浏览器的访问速度。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值