By the way, setting Last-Modified: and ETag: and checking for
If-Modified-Since: and If-None-Match: is easy only for log-like views:
"shortlog", "log", "history", "rss"/"atom". With "shortlog" and
"history" we have additional difficulity of using relative dates there.
And even for those views we need reverse proxy / caching engine
(e.g. Squid in "HTTP accelerator" mode) in front.
It would be easier to pre-generate most common accessed views:
"projects_list", "summary" and "rss"/"atom" main for each project, and
just serve static pages. I don't know if we need to modify gitweb for
that.
BTW. for single client (rather stupid benchmark, I know) mod_perl is
about twice faster in keepalive mode than CGI version of gitweb for
git.git summary page.
--
Jakub Narebski