ProxyWing

TTL(生存时间)

TTL 是 Time-To-Live(生存时间)的缩写,是网络、DNS、HTTP 缓存以及其他同时注重效率和时效的系统中最常用的参数之一。

发布时间: 2025年8月19日
最后更新: 2025年9月29日

什么是 TTL?

它是附加在数据包上的一个时间值,用于规定数据的有效时长。一旦过期,数据要么被删除,要么从源头更新。

不同系统可根据其目标设置不同的值。TTL 设置会影响多种参数,例如网络的性能和域名的传播。

TTL 如何工作?

发送数据(例如 HTTP 响应或 DNS 记录)时,数据会附带一个以秒为单位的保留时间值。随着数据被系统保存或使用,您在 TTL 字段中设置的值会逐渐递减。值为零表示该系统中的数据已过期,必须刷新。

TTL 的应用

  • DNS 缓存:规定 DNS 解析器应将某个域名的 IP 地址存储多长时间。您可以根据希望解析器存储该 IP 地址的时长,选择较低或较高的 TTL 值。
  • HTTP 缓存:有助于降低服务器负载、节省带宽并缩短页面加载时间。生存时间值告诉浏览器或代理应将某个 Web 响应存储多长时间。
  • 路由协议:防止数据包在互联网中无休止地循环传输。

DNS 和 HTTP 中的生存时间

  • DNS:规定 DNS 记录(例如 A 记录或 MX 记录)在 DNS 服务器上存储的时长。设置最低的 TTL 可让更新更快地传播,而设置最高的 TTL 则因存储的信息保留更久而降低负载。
  • HTTP:它还用于 Cache-Control 或 Expires 等请求头中,控制浏览器存储网页或资源的时长。

示例

  • 保留时间值 = 300 的 DNS 记录将被缓存 5 分钟。
  • 使用 Cache-Control: max-age=3600 存储 CSS 文件的浏览器会将其保存 1 小时。

有任何问题吗?