>Perhaps a 3-way flag, cache, nocache, none

yes, that is what I meant.
If the client says neither cache nor nocache, the server uses it's default (nocache for now until we have a config. option)
If the client provides cahce or nocache, the server _can_ use it - but it's at it's discretion. In reality in our impl. it may always comply with it, but I think it should be regarded as a hint that the server can decide what best to do with.