http_cache_etag

Caching by ETag

&reftitle.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 &link.http.configuration; 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 &link.http.configuration; http.log.cache is set and the cache attempt was successful.

¬e.http.send.API.mayuse;

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

&reftitle.parameters;

`etag`

- custom `ETag`

&reftitle.returnvalues;

&returns.http.false.orexits; with `304 Not Modified` if the entity is cached. &see.http.configuration.force_exit;

&reftitle.examples;

### A `http_cache_etag` example

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

&reftitle.seealso;

- `http_cache_last_modified`
- `ob_etaghandler`
- `http_match_etag`
- &http.response.class.php51;