Validating cached responses with ETags