I am trying to develop a varnish.
My problem. I have a basic request / response that I want to cache using varnish. Inside the html structure there is an ESI tag. I want to have a lot of them. One tag with longer ttls and others with ttl=0s; (ESI content with login field).
In any case, I want the varnish to fall into the main request, but request ESI contents for some information like headers. When the ESI content is returned (because I understand what is the parent request first, then this is a sub request with ESI), I want to have some kind of message.
Remember that changes made to beresp are saved to obj afterwards. And also variables are copies of what should be returned - perhaps obj. In other words, a change to beresp will affect future variables and *. Similar semantics apply to req. * and shore .. shore. is a "backend request" created based on the original request. It may be slightly different - Lac can convert HEAD for example, GET requests.
from https://www.varnish-software.com/static/book/VCL_functions.html
For example: If the ESI subtitle has a header "X-ESI-Cookie"when responding, I want to pass it to the main response.
The only way to learn anything about ESI is reg.esi_level.
if (req.esi_level > 0 ) {
set req.http.*;
}
Basically I want to achieve:
, , ESI, sub (ESI) ( ).
, ( ESI) , , . html ESI. ?
, , , , - : ? , . ( Fake-Session, whre ID Varnish C, ).
, symfony2.
, , symfony2 . , ( ESI).
, ESI- (, ) :
obj.*
, ESI.
, *.vcl, .
.