esigate/esigate — pull request #8 by nricheton (2014-06-28 20:49:06+00:00)
Title: ESI Edge-Arch 1.0 : targetting support

Added targeting support for Surrogate-Control headers :

http://www.w3.org/TR/edge-arch

2.3 Surrogate-Control Targetting

Because surrogates can be deployed hetrogeneously in a hierarchy, it is necessary to enable the targetting of directives at individual devices.

Surrogate-Control directives may have a parameter that identifies the surrogate that they are targetted at, as identified by the device token in the request's Surrogate-Capabilities header. Directives without targetting parameters are applied to all surrogates, unless a targetted directive overrides it. For example,

Surrogate-Control: max-age=60;abc, max-age=300

Here, the device that identified itself as 'abc' in the Surrogate-Capabilties request header will apply a max-age of 300; all other surrogates will apply a max-age of 60.

Surrogate-Control: content="ESI/1.0";abc, content="ESI-Inline/1.0";def

This header specifies that the device that identified itself as 'abc' should process the response entity for ESI, while the surrogate that identified itself as 'def' should process it for ESI-Inline.