At zero remaining seconds, this toy cache treats the answer as expired.

highlighted = computed this step

At zero, the answer expires

After 300 seconds, remaining TTL is 0.

300300=0300 - 300=0
Zero expiresRemaining TTL is recomputed from elapsed seconds.DNS TTL countdown - www.example.com A 93.184.216.34, TTL 300 secondselapsedremainingvalidstate0300yesvalid120180yesvalid3000noexpired

Zero is not valid here

This toy table marks zero remaining seconds as expired.

valid=0\text{valid}=0
Zero expiresRemaining TTL is recomputed from elapsed seconds.DNS TTL countdown - www.example.com A 93.184.216.34, TTL 300 secondselapsedremainingvalidstate0300yesvalid120180yesvalid3000noexpired

Expiration is not a new address

The answer address bytes are unchanged; only the cached freshness reaches zero.

remaining=0\text{remaining}=0
Zero expiresRemaining TTL is recomputed from elapsed seconds.DNS TTL countdown - www.example.com A 93.184.216.34, TTL 300 secondselapsedremainingvalidstate0300yesvalid120180yesvalid3000noexpired

Summary

A cache can use the answer while remaining TTL is positive; at zero, this toy row is expired.

remaining=0\text{remaining}=0
Zero expiresRemaining TTL is recomputed from elapsed seconds.DNS TTL countdown - www.example.com A 93.184.216.34, TTL 300 secondselapsedremainingvalidstate0300yesvalid120180yesvalid3000noexpired