Я пытаюсь разбить ответ кеша лака на части... (это возможно, верно?)
У меня есть следующий сценарий:
1 – кеш чист, все готово (перезапуск службы лакировки)
2 — доступ к www.mywebsite.com/page в первый раз
(длина содержимого не возвращается, и существует фрагментация, отлично!)
3 — при следующем доступе к странице (например, при простой перезагрузке) она будет помещена в кеш.. и теперь я получаю следующее:
(теперь у нас есть длина содержимого... что означает отсутствие фрагментации :( не очень хорошо!)
После прочтения некоторых документов/блогов Varnish (и этого: http://book.varnish-software.com/4.0/chapters/VCL_Basics.html), похоже, есть два "последних" возврата: return(fetch) или return(deliver).
При принудительном выполнении return(fetch) фрагментированное кодирование работает... но это также означает, что запрос не будет кэшироваться, верно? В то время как return(deliver) кэширует правильно, но добавляет заголовок длины содержимого.
Я попытался добавить их в свой файл default.vcl:
set beresp.do_esi = true; (at vcl_backend_response stage)
и
unset beresp.http.content-length; (at different stages, without success)
Итак... как заставить кеширование Varnish работать с Transfer-Encoding: chunked?
Спасибо за внимание!