Sí, en una implementación real es posible que se haga un get condicional antes.
En el contexto del ejercicio digamos que ahí asume que lo que está cacheado es válido (por ejemplo que cuando lo obtuvo en el header HTTP se indicaba que no expira).
Martín