Checking HTTP Cache
class
CheckHttpCacheComponent(ComponentCollection $collection, array $config = [])
Added in version 4.4.0
The CheckHttpCacheComponent
was added.
The HTTP cache validation model is one of the processes used for cache gateways, also known as reverse proxies, to determine if they can serve a stored copy of a response to the client. Under this model, you mostly save bandwidth, but when used correctly you can also save some CPU processing, reducing response times:
// in a Controller
public function initialize(): void
{
parent::initialize();
$this->addComponent('CheckHttpCache');
}
Enabling the CheckHttpCacheComponent
in your controller automatically activates a beforeRender
check. This check compares caching headers set in the response object to the caching headers sent in the request to determine whether the response was not modified since the last time the client asked for it. The following request headers are used:
If-None-Match
is compared with the response'sEtag
header.If-Modified-Since
is compared with the response'sLast-Modified
header.
If response headers match the request header criteria, then view rendering is skipped. This saves your application generating a view, saving bandwidth and time. When response headers match, an empty response is returned with a 304 Not Modified
status code.