În apache, mod_deflate elimină etagul și lungimea conținutului

În apache, mod_deflate elimină etagul și lungimea conținutului
  • Apache

Pe serverul Apache, mod_deflate este activat.

1. Când o pagină html este trimisă folosind php și eticheta ETag este trimisă, serverul trimite un fișier gzip comprimat, dar fără ETAG. În acest caz, Content-Length este corect și Vary: Accept-Encoding este adăugat.

2. Când php trimite un fișier generat de aplicație și trimite un antet Content-Length, serverul trimite un fișier gzip comprimat, dar fără Content-Length. Acest lucru adaugă Transfer-Encoding: chunked și Vary: Accept-Encoding. Acest lucru se întâmplă în ciuda faptului că fișierele statice sunt date cu lungimea corectă a conținutului.

3. Când php trimite un fișier de aplicație generat de aplicație (ca răspuns la o solicitare de la Range) și trimite antetul 206 Conținutul parțial, precum și conținutul și lungimea conținutului, serverul nu comprimă deloc nimic. Acest lucru se întâmplă în ciuda faptului că părțile solicitate din conținutul static sunt trimise comprimate, cu intervalul de conținut și conținutul corect.

Fără mod_deflate, totul funcționează corect.

Această din urmă problemă nu este critică, este puțin probabil să se solicite adesea conținut în părți. Dar primele două probleme sunt grave. Pot să le rezolv sau trebuie să dezactivez mod_deflate pentru aceste tipuri de conținut?