When PsGet downloads the module directory xml file to find the details (such as the download url) for the module you have requested, it stores the url of the module directory, the value of the ETag response header, and the contents of the directory xml file in a PsGet folder under the current user's Application Data folder (referred to by the APPDATA environment variable).
The next time PsGet attempts to access the module directory, it first checks if it has a cached copy. If it does, and the cache copy is less than 24 hour old, the cached ETag value is sent to the web server when requesting the module directory xml file again.
With the ETag specified in the request, if the module directory file has not changed on the web server, the file is not sent back, instead a very small 'Not Modified' response is returned and PsGet uses the cached copy of the module directory. This saves time downloading the directory.
If the directory on the web server has changed, PsGet receives and uses the new version of the directory and overwrites the cached copy with the new version for next time.
If the web server cannot be reached, PsGet uses the cached copy even if it is older than 24 hours.
You can delete the contents of the PsGet folder under the user's Application Data folder (ie %APPDATA%\PsGet) to force PsGet to use the directory on the web server but if you find yourself needing to do this regularly it may indicate a bug with PsGet that should be reported.