Hi… I’ve been trying to solve this for two days now, and I still can’t figure it out!
I’m building a WebPlayer application, served inside a really simple web page. The thing is, I can’t get the web player file to cache on the browser side. I’m using Amazon S3 to store the built *.unity3d file, and it has all the appropiate caching headers:
Nevertheless, each time I open the web page, the whole file is transferred, and it takes about a minute to do so. This is time consuming and costly.
What am I missing? I know this can be done because The Hobbit’s game does it. The first time I load the web page, 20MB are transferred, but in future requests, only about 30KB are transferred.
I haven’t been able to solve it yet. Anyway, I think I’ve got the reason:
I tried the same headers with a smaller (5MB) file, and everything worked. It got cached, the browser sent the If-None-Match, and the server responded with a 304. I think the file exceeds the maximum cacheable size in a browser for a single file.
So, the solution is to use streamed content, or make a Desktop client.
Anyone can confirm this? Is this why streamed content was invented?