Caching of .unity3d file?

I have noticed when the .unity3d file is downloaded from our web page, it has the request headers

Cache-Control: no-cache
Pragma: no-cache

which is causing cache misses where they would potentially hit (and running up a large bill with our CDN).

Is there a way to make the Unity web player support caching when downloading this .unity3d file? For example as an option to the unityObject.embedUnity call?

In a web browser all requests for data are handled by the web browser. So your unity3d file is fetched for the web player using the browser. You can see this in browsers that have some kind of activity or network viewer. If you want the unity3d file to be cached by the browser, set it’s headers accordingly. The unity3d files fetched from the unity3d.com site have:

Cache-Control:max-age=604800

Maybe whoever set your site up has turned caching off for a reason?