On Fri, Oct 20, 2000, Dana Hudes wrote:
When I switch to CGI-based delivery of images the cache will of course become pass-through since there will be no file to cache just a stream of bytes....
Is the assumption there that by using CGI you'll automatically tweak a configuration in a caching proxy? If so then it's a flawed assumption.
But there is no file to cache? I don't have enough gear to set up a test with squid myself (and that would only be one cache) but how is the engine to know to cache it? My understanding is that CGI-generated content is usually not cached.
BZZT. Another assumption which is actually totally not true. For example, imagine your photo book. The photos won't change, right ? The position in your database won't change, right ? So .. http://www.domain.com/photos?id=31765 ok. 31765 is a static image that won't change. So, you'd be better off setting its expiry time to something high, wouldn't you?
Having had a very quick look at your site, it seems a little strange that you want to defeat caching of those objects that soak up bandwidth; the request to perform "click-through" on the advert suggests that you're using the revenue to pay for your bandwidth costs. (So, one assumes that the more the material was cached, the less you'd have to pay, and the less you'd have to worry about page impressions.) I particularly like the way that you require my browser to send a Referer field to be allowed to view the pictures ;-)
I do indeed use the revenue to pay for bandwidth but the pictures, by and large (its a work in progress) have been tuned for file size; still takes time to decompress but hey, what can I do. Also the projected load vs. the bandwidth is such that I have a LOT more room left. The users get a reasaonbly large bitmap in a reasonably small file. ImageMagick is nifty set of programs. The problem I have is pirates who collect images and use them for other purposes. the pictures...well, I actually don't want them hanging around on the user's disk once the browser is no longer on the page. I haven't figured out how to make that happen other than expiration of 1 minute or something.
You can't. End of story. This is the internet, people control their end-nodes, so you have zero chance of this happening. If you *REALLY* want to be evil, you wrap the images in a java applet so they can't just rightclick on it, but again that won't stop the smart people. Adrian -- Adrian Chadd The Law of Software Development and <adrian@creative.net.au> Envelopment at MIT: "Every program in development at MIT expands until it can read mail."