Basically the cache/filesystem updating consists of a few steps. First, the client requests the checksum table, which is requested through archive 255, file 255. This file contains checksums of all the reference tables. Each index has it's own reference table. The reference table contains metadata about the index and the archives in the index. Such as the names of the archives (if applicable), but also the archive versions.
It's something like this:
1. Request checksum table
2. Compare local reference tables to the checksum table
3. If any reference tables are outdated, request the updated tables
4. Diff archives to the reference table, if any archive is outdated, update