add gzip, use stream to read file and cache control system