IdempotenceStateExpirationThe Expires HeaderThe Cache-Control HeaderExpiration PrecedenceConditional RequestsETagLast-ModifiedHow Varnish Deals with Conditional RequestsCache VariationsVarnish Built-In VCL BehaviorWhen Is a Request Considered Cacheable?When Does Varnish Completely Bypass the Cache?How Does Varnish Identify an Object?When Does Varnish Cache an Object?What Happens if an Object Is Not Stored in Cache?How Long Does Varnish Cache an Object?Conclusion