Was sind die Optionen für die gzip_proxied Richtlinie für?
Den gzip_proxied Richtlinie kann für die folgenden Optionen (nicht abschließend):
- abgelaufen
aktiviert die Komprimierung, wenn eine response-header enthält das "Expires" Feld mit einem Wert, der deaktiviert das Zwischenspeichern;- no-cache
aktiviert die Komprimierung, wenn eine response-header enthält die "Cache-Control" mit der "no-cache" parameter;- no-store
aktiviert die Komprimierung, wenn eine response-header enthält die "Cache-Control" mit der "no-store" - parameter;- private
aktiviert die Komprimierung, wenn eine response-header enthält die "Cache-Control" - Feld mit dem "private" - parameter;- no_last_modified
aktiviert die Komprimierung, wenn eine response-header beinhaltet nicht die "Last-Modified" - Feld;- no_etag
aktiviert die Komprimierung, wenn eine response-header beinhaltet nicht die "ETag" - Feld;- auth
aktiviert die Komprimierung, wenn eine Anfrage-header enthält das "Authorization" - Feld;
Ich sehe keinen rationalen Grund für die Verwendung von die meisten dieser Optionen. Zum Beispiel, warum würde oder nicht, ob eine weitergeleitete Anfrage enthält die Authorization
header, oder Cache-Control: private
beeinflussen, ob oder nicht, ich will gzip es?
Gegeben, dass alte Versionen von Nginx strip ETags aus Antworten, wenn Sie Gzip, sehe ich einen Anwendungsfall für no_etag: wenn Sie nicht über Nginx konfiguriert zum generieren von ETags für Ihre gzipped Antworten, können Sie es vorziehen zu übergeben, auf einem unkomprimierten Antwort mit ein ETag eher als erzeugen einer komprimierten ohne ein ETag.
Ich kann nicht herausfinden, die andere, obwohl.
Was sind die beabsichtigten Anwendungsfälle von jeder dieser Optionen?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der admin guide: (Hervorhebung von mir)
Dem würde ich Zustimmen, dass die nicht komprimiert cacheable Antworten zumutbar ist. Bedenken Sie, dass die primäre Einsparungen der Zwischenspeicherung auf einem proxy ist die Steigerung der performance (Antwort-Zeit) und Verringerung der Zeit und der Bandbreite, die der proxy verbringt, um die upstream-Ressourcen. Die vor-und Nachteile um zu gewinnen diese performance-Vorteile der Kosten für die cache-Speicherung. Hier sind einige Anwendungsfälle, bei denen, die nicht komprimiert cacheable Antworten, die Sinn machen:
In der normalen web-Verkehr von vielen Seiten, nicht personalisierte Antworten (die die Mehrheit der cacheable Antworten) bereits optimiert durch Techniken wie Skript Verkleinerung, Bild-Größe-Optimierung, etc., in einem web-build-Prozess. Während diese statischen Ressourcen schrumpfen könnte, etwas von der Kompression, die CPU-Kosten versuchen, gzip Sie kleiner ist wahrscheinlich nicht die effiziente Nutzung des proxy-layer-Maschine Ressourcen. Aber die dynamisch generierten Seiten, serviert auf angemeldete Benutzer, mit Tonnen von Anwendungen erzeugten Inhalte würde sehr wahrscheinlich profitieren von der Kompression (und würde in der Regel nicht zwischengespeichert werden können).
Sind Sie der Einrichtung einer proxy vor einem kostspieligen upstream-service, aber Sie sind portion Antworten zu anderen proxy -, die verantwortlich sein werden für die Komprimierung für jeden Benutzer-agent. Zum Beispiel, wenn Sie ein CDN macht, dass mehrere Anfragen zum gleichen teuren upstream-Ressource (aus geographisch getrennten edge-Standorten) und Sie möchten, um sicherzustellen, dass Sie wiederverwenden können kostspielige Reaktion. Wenn der CDN-caches unkomprimierte Versionen (service sowohl komprimierte als auch unkomprimierte user agents) Sie können die Komprimierung an Ihrem proxy, nur um Ihnen zu Dekomprimieren wieder an das CDN, das ist einfach eine Verschwendung von hardware und Strom auf beiden Seiten, um die Bandbreite zu reduzieren, die in die höchste Bandbreite, die Teil der Kette. (Antwort gzip-Kompression ist besonders vorteilhaft bei der letzten Meile, um die response-Daten auf das Telefon des Benutzers, das fallen gelassen wurde, um einen Punkt des Signals, wie Sie in der U-Bahn.)
Für ansehnliche Antwort Entitäten, Anfragen kommen können (aus verschiedenen user-agents, aber oft über CDN downstream-Vermittler) für byte reicht der Ressource, user-agents, die keine Komprimierung unterstützen. Das CDN ist wahrscheinlich dienen byte-range-Anfragen aus seinem eigenen cache, vorausgesetzt, daß es eine unkomprimierte version, die bereits in seinem cache.