Which one of your web sites? Both
http://www.dhnewmedia.com/ and
http://www.subhuman.net/ return "X-Powered-By: ASP.NET" amongst the
headers.
Frequently authors go too far in the opposite direction and prevent
the page being cached at all.
In your case (cache-control: private) you've gone for allowing
browsers to cache the page but not allowing proxies to cache the page.
But as you've provided no mechanism to communicate the freshness of
the page the browser has no way of telling whether the page in its
cache is up to date or not - so it has to fetch the page from the
server every time which wastes time and resources.
How many sites have content that changes so fast that two visits, five
minutes apart, always need to be served different versions? Sports
results, stock tickers, a few others.
Configuring the server to handle validate Last-Modified requests
(which it does automatically for static pages) saves a lot of repeated
fetching. But many people don't configure the server to do this -
neither of your sites that I checked do this.
Often they don't send out the same headers. Your pages don't send out
Expires, Last-Modified or ETag headers.
This causes user agents to treat them as stale. So browsers will
always need to re-request the page from the server, even if they only
visited it five minutes ago, and search engines have no reason to
reindex the page regularly.
Not the case. As the headers are different the page is different.
By default PHP, ASP, etc, do not generate all the same headers that
the web server generates for static pages. It takes work on the
author's part to bring dynamic pages up the same level of
user-friendliness as static pages and many authors either don't bother
or, more likely, are ignorant of the issues involved.
How will it see that?
In neither of your sites that I checked are you supplying a
Last-Modified header.
By default servers add all the correct headers to static pages but
they don't add them to dynamic pages.
Compare the headers for
http://www.sfsfw.net/index.php where I've
added code to generate the correct headers and
http://www.sfsfw.net/a/index.php where I haven't yet modified the page
and you'll see quite a few missing headers.
I'm sure you'll see the same on your own servers if you compare the
headers for a page generated with ASP and a static one.
Useful tools:
http://www.web-caching.com/cgi-web-caching/cacheability.py
http://www.delorie.com/web/headers.html
cheers,
Steve