Some scattered thoughts on the subject:
* There are other static content extensions which you might wish to include such as .pdf, .wav, .doc, etc.
* It may sometimes be desireable to *not* send any cache control headers for static content. This is because it would be sent with a "Last-Modified" header and would subsequently be validated with the "If-Modified-Since" directive. Slightly less efficient, but it atleast guarantees fresh content for those sites which need it.
* There may be some sites which want all their dynamic content to be cached for a time because the information is not very time-sensitive nor user-specific, so that should be possible as well.
* You may also wish to cache only some of your dynamic content. For instance, what if the browser/proxy is fetching the URL "/shared/portrait-bits" which maps to a CR object stored in the filesystem? Currently, with cr_write_content, you atleast get the benefit of a "Last-Modified" header. But, with the proposed URL pattern matching scheme, the browser/proxy would also get a no-cache directive.
Don't know if that helps at all...