It might walk PyPI it might not touch the network at all, it depends.

It uses the same cache semantics as the browser. If PyPI has a ``CacheControl: max-age: 600`` header in the response to an url, then for the next 600 seconds requesting that same URL again will not touch PyPI. After 600 seconds has gone by the item is still in the cache, but instead of just using the item from the cache unconditionally it will make a conditional GET, which will hit PyPI and say "I want this URL, but only if it doesn't match this ETag". PyPI will look what ETag they sent, and either return a 304 with an empty response if the ETags match, or it'll send a 200 with the content like normal. If we get a 304 response then we'll just refresh the timer on the cache for another 600 seconds (or whatever the max-age is on that response) and return the data we have stored in the cache.

Does that make sense?