Caching by ETag

HTTP Functions
http_cache_last_modified
HTTP Functions
PHP Manual

# http_cache_etag

(PECL pecl_http >= 0.1.0)

http_cache_etag — Caching by ETag

### Description

bool http_cache_etag ([ string `$etag` ] )

Attempts to cache the sent entity by its ETag, either supplied or generated by the hash algorithm specified by the INI setting http.etag.mode.

If the clients If-None-Match header matches the supplied/calculated ETag, the body is considered cached on the clients side and a 304 Not Modified status code is issued.

A log entry is written to the cache log if the INI setting http.log.cache is set and the cache attempt was successful.

> Note: This function may be used in conjunction with http_send_data(), http_send_file() and http_send_stream().

If this function is used outside the http_send_*() API, it facilitates the ob_etaghandler().

### Parameters

`etag`

  custom ETag

### Return Values

Returns `FALSE` or exits on success with 304 Not Modified if the entity is cached. See the INI setting http.force_exit for what "exits" means.

### Examples

Example #1 A http_cache_etag() example

`<?php
http_cache_etag();
http_send_data("data");
?>`

### See Also

- http_cache_last_modified() - Caching by last modification
- ob_etaghandler() - ETag output handler
- http_match_etag() - Match ETag
- the HttpResponse class if you are using PHP 5.1.0 and above

HTTP Functions
http_cache_last_modified
HTTP Functions
PHP Manual