I have one question: suppose in each http request there is a cache-control: max-age=0
header, so each request will go all the way to the origin web server.
Does it
By setting the max-age to 0, you effectively expire your page in your CDN edge cache immediately. Therefore, your CDN always hit your origin and render the CDN useless as you suggested.
Noticed from your other question that you are using Akamai. If so, then you can use the Edge-Control
header to override your cache-control
if you don't have direct control over that value, but still want to be able to leverage CDN functionality.