I just found that when the game is hosted on dropbox, the cache manifest will work just fine (retrieve modified files only). But then when I tested it on github pages, the browser will simply redownload all files even only a single file is modified. Is it related to cache headers that set by github pages?