This question already has an answer here:
- How do you set the expiry date or a maximum age in the HTTP headers for static resources in IIS
Generally that is done using the .htaccess file on your host. Here is an example cut and pasted from HTTP cache headers with .htaccess
<IfModule mod_headers.c> # WEEK <FilesMatch "\.(jpg|jpeg|png|gif|swf)$"> Header set Cache-Control "max-age=604800, public" </FilesMatch> </IfModule>
If delivering materials from a PHP shell you could use PHP to create the header in which case you would refer to the HTTP protocal outlined here section 14.9 Cache-Control http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
<?php /* This file is a wrapper, */ header( 'Cache-Control: max-age=604800' ); /* now get and send images */ ?>
I consider the .htaccess the easier of the two methods.