My website consists of thousands of photos online that people can see. The photographer creates the photos using the highest quality settings possible and then uploads them. Then my php scripts use compression to generate the photos online at acceptable quality and therefore make users wait substantially less time for photos to display.
So far, everything is good until recently the photographer told me a number of people requested the ability to download the photos at the same quality the photographer used.
I then begin to offer the downloads direct as JPEG images with these HTTP headers attached to indicate the photo is an actual download:
content-disposition: attachment; filename=Photo.jpg content-type: image/jpeg cache-control: max-age=864000,must-revalidate content-length: 1111
Of course 1111 is replaced with the actual file size of the highest quality photo itself.
I begin to think this is the reason my adsense earnings on the site are stuck at under 10 cents a day.
So my question then is whats the best way to serve a ridiculously high quality image online as a download without requiring manual intervention and without making google think that I'm trying to offer a poor user experience as a result of linking to unoptimized large image files?
The only thing I'm thinking is to use PHP to create a gzipped version of it and offer that as the download but I'm not sure if the entire world or if mobile devices can support actual gzip files.