TTL
代表“Time to Live”。
TTL 可以指计算机网络中的几个概念之一。它可以指 TCP/IP 协议中的一部分,用于为通过网络发送的每个数据包设置过期计时器。它也可以指服务器在刷新缓存信息之前将其存储多长时间。
TCP/IP
当一个数据数据包通过互联网从一台计算机发送到另一台计算机时,它会从一个网络移动到另一个网络,直到到达目的地。传输过程中的每一步都称为一次“跳”。每个在网络中传输的数据包都会增加少量开销,因此无法到达目的地、无限跳转的数据包会显著降低网络性能。为防止这种情况,每个数据包在发送时都会获得一个 TTL 计数值,以防止它永远跳转下去。
数据包的 TTL 计数值是一个 8 位数字(介于 1 和 255 之间,通常设置在 32 到 128 之间),用于指定数据包在过期并被丢弃前最多可以跳转的次数。每当数据包从一个路由器跳转到下一个路由器时,TTL 计数值就会减 1。如果 TTL 计数值在数据包到达目的地之前变为 0,路由器就会丢弃该数据包。
缓存
TTL 也可以指服务器在刷新数据缓存之前保留这些数据供检索的时间。例如,DNS 服务器会为每个记录设置一个以秒为单位的 TTL 值,用于控制它可以提供该记录多长时间后再进行刷新。这些 TTL 条目的值最低可以设置为 30 秒,而优先级较低的记录可以设置为最长 86,400 秒(24 小时)。
CDN 服务器会为所存储的每个资源设置一个 TTL 值,用于控制它在向源服务器检查更改之前保留缓存副本多长时间。这样,CDN 可以经常检查更新频繁的文件,而其他资源则可以在两次更新之间缓存数天或数周。
测试你的知识