Vary-Header

Was ist der Vary-Header?

Der Vary-Header ist ein HTTP-Antwortheader, der einem Browser, Proxy oder CDN mitteilt, welche Anfrageheader bei der Auswahl einer gespeicherten Antwort berücksichtigt werden müssen. Mit Vary: Accept-Encoding kennzeichnet ein Server beispielsweise, dass für dieselbe URL unterschiedliche Varianten je nach unterstützter Komprimierung existieren.

Der Vary-Header, deutsch sinngemäß Variieren-Antwortheader, steuert die Wiederverwendung zwischengespeicherter Serverantworten. Der Header verhindert, dass ein Cache eine für bestimmte Anfragebedingungen erzeugte Variante unkontrolliert an andere Clients ausliefert.

So funktioniert der Vary-Header

Der Vary-Header steht in der HTTP-Antwort des Servers. Sein Wert enthält einen oder mehrere Anfrageheader, deren Inhalt die ausgelieferte Ressource beeinflusst. Ein Cache nimmt diese Angaben in den Cache-Schlüssel auf und unterscheidet dadurch mehrere Varianten derselben URL.

Ein typischer Ablauf sieht so aus: Ein Browser fordert eine Seite mit Accept-Encoding: gzip an. Der Server liefert die komprimierte Antwort und ergänzt Vary: Accept-Encoding. Fordert ein anderer Client dieselbe URL ohne gzip-Unterstützung an, darf der Cache die gespeicherte gzip-Variante nicht ungeprüft verwenden.

Ein Beispiel für eine vollständige Antwort lautet: Content-Encoding: gzip beschreibt die tatsächlich verwendete Komprimierung. Vary: Accept-Encoding erklärt dem Cache, dass die Auswahl dieser Variante vom Anfrageheader Accept-Encoding abhängt.

Mehrere Kriterien werden durch Kommas getrennt. Eine Antwort wie Vary: Accept-Encoding, Accept-Language erzeugt potenziell für jede Kombination aus Komprimierung und Sprache eine eigene Cache-Variante. Je mehr Werte der Vary-Header enthält, desto stärker kann sich der Cache aufteilen.

Häufige Werte im Vary-Header

WertTypischer AnwendungsfallTechnische Folge
Accept-EncodingAuslieferung mit gzip, Brotli oder ohne KomprimierungDer Cache trennt die Varianten nach unterstützter Kodierung.
Accept-LanguageDynamische SprachauswahlFür verschiedene Spracheinstellungen können getrennte Antworten entstehen.
User-AgentGeräteabhängige oder browserspezifische InhalteViele unterschiedliche User-Agents können den Cache stark fragmentieren.
OriginDynamische CORS-AntwortenDer Cache unterscheidet Antworten anhand der anfragenden Herkunft.
*Nicht vollständig benennbare AuswahlbedingungenEin gemeinsamer Cache kann die gespeicherte Antwort nicht zuverlässig wiederverwenden.

Vary: Accept-Encoding ist die verbreitetste Variante, weil Server Inhalte häufig komprimiert übertragen. Der Wert User-Agent verlangt dagegen besondere Aufmerksamkeit: Schon kleine Unterschiede in Browser- und Bot-Kennungen können zahlreiche Cache-Einträge für dieselbe URL erzeugen und die Trefferquote des Caches reduzieren.

Vary-Header und technisches SEO

Der Vary-Header ist kein direkter Rankingfaktor. Fehlerhafte Cache-Varianten können jedoch Ladezeiten, Crawling und die konsistente Auslieferung von Inhalten beeinflussen. Diese technischen Folgen betreffen die Nutzererfahrung und können die Auswertung einer Website durch Suchmaschinen erschweren.

Ein fehlender Vary-Header kann dazu führen, dass ein gemeinsamer Cache dieselbe gespeicherte Antwort an Clients mit unterschiedlichen technischen Voraussetzungen sendet. Ein zu weit gefasster Vary-Header erzeugt dagegen viele Varianten, senkt die Cache-Trefferquote und erhöht die Zahl der Anfragen, die der Ursprungsserver neu bearbeiten muss.

Besonders relevant ist der Vary-Header bei dynamischen Sprach- oder Gerätevarianten. Der Header macht alternative Inhalte nicht automatisch für Suchmaschinen auffindbar. Für internationale Seiten sind feste Sprach-URLs, interne Links und Hreflang-Angaben verlässlicher als eine ausschließlich vom Anfrageheader Accept-Language abhängige Auslieferung.

Technische Auslieferungsfehler lassen sich im Rahmen eines SEO-Audits mit technischer Analyse gemeinsam mit Statuscodes, Weiterleitungen, Indexierung und Ladezeiten untersuchen. Weitere typische Prüfpunkte findest du im Ratgeber zum Management technischer SEO-Fehler.

Unterschied zu anderen Cache-Headern

Der Unterschied zwischen Vary und Cache-Control liegt in ihrer Aufgabe. Cache-Control bestimmt, ob und wie lange eine Antwort gespeichert werden darf. Der Vary-Header bestimmt, welche Anfrageinformationen ein Cache vergleichen muss, bevor er eine gespeicherte Antwort wiederverwendet.

Der Unterschied zwischen Vary und Content-Encoding betrifft Auswahl und Ergebnis. Content-Encoding: br sagt aus, dass die konkrete Antwort mit Brotli kodiert wurde. Vary: Accept-Encoding teilt dem Cache mit, dass eine andere Anfrage eine anders kodierte Antwort erhalten kann.

Ein ETag kennzeichnet eine bestimmte Repräsentation einer Ressource und ermöglicht eine bedingte Anfrage. Der Vary-Header grenzt dagegen ab, welche Repräsentation für eine Anfrage überhaupt infrage kommt. Bei mehreren Varianten sollten Validatoren wie ETags konsistent zur jeweiligen Variante erzeugt werden.

Vary-Header richtig prüfen

Messbar ist der Vary-Header über die Netzwerkansicht der Browser-Entwicklertools, eine HEAD-Anfrage oder einen technischen Crawler. Der Technik-Crawler der Performance Suite unterstützt die regelmäßige Kontrolle technischer Seiteneigenschaften und verbindet gefundene Auffälligkeiten mit den betroffenen URLs.

Mit zwei Anfragen kannst du prüfen, ob ein Server Varianten korrekt kennzeichnet:

  • curl -I -H 'Accept-Encoding: gzip' https://www.beispiel.de/
  • curl -I -H 'Accept-Encoding: identity' https://www.beispiel.de/

Vergleiche in beiden Antworten den Vary-Header sowie Content-Encoding, Cache-Control und ETag. Ändert sich der ausgelieferte Inhalt oder seine Kodierung aufgrund eines Anfrageheaders, sollte der betreffende Anfrageheader grundsätzlich im Vary-Wert berücksichtigt werden.

Ein pauschaler Wert wie Vary: User-Agent kann für nahezu jede Browser- oder Bot-Kennung eine separate Cache-Variante erzeugen. Setze diesen Wert nur ein, wenn der Server tatsächlich unterschiedliche Repräsentationen ausliefert und eine klarere Unterscheidung technisch nicht möglich ist.

Nach einer Änderung solltest du den Cache des CDN, Reverse-Proxys oder Servers gezielt leeren und erneut testen. Eine korrekte Serverkonfiguration reicht nicht aus, wenn ältere Antworten mit abweichenden Headern noch im Cache liegen. Die Auswirkungen auf die Ladezeit kannst du zusätzlich mit dem kostenlosen Ladezeiten-Check kontrollieren.

Häufige Fragen zum Vary-Header

Ist der Vary-Header für jede Website notwendig?

Nein. Der Vary-Header wird benötigt, wenn ein Server für dieselbe URL abhängig von Anfrageheadern unterschiedliche Repräsentationen liefert. Gibt die URL unter allen Bedingungen dieselbe Antwort zurück, ist keine zusätzliche Variantenkennzeichnung erforderlich.

Wo wird der Vary-Header gesetzt?

Der Vary-Header wird in der HTTP-Antwort des Webservers, Anwendungsservers oder CDN gesetzt. Die konkrete Konfiguration hängt davon ab, ob Apache, Nginx, ein Shopsystem, ein Framework oder ein vorgeschalteter Cache die Antwort erzeugt.

Kann der Vary-Header die Ladezeit verschlechtern?

Ja. Zu viele Varianten senken die Cache-Trefferquote, weil häufiger eine neue Antwort vom Ursprungsserver abgerufen werden muss. Besonders Werte mit zahlreichen möglichen Ausprägungen wie User-Agent sollten deshalb gezielt eingesetzt werden.

Was bedeutet Vary Accept-Encoding?

Vary Accept-Encoding bedeutet, dass die Antwort davon abhängt, welche Komprimierungsverfahren der Client unterstützt. Ein Cache muss beispielsweise gzip-, Brotli- und unkomprimierte Varianten getrennt behandeln.

Kann man mehrere Werte im Vary-Header angeben?

Ja. Mehrere Anfrageheader werden durch Kommas getrennt angegeben. Der Cache muss dann alle genannten Werte vergleichen, wodurch für dieselbe URL mehrere Kombinationen und entsprechend mehr Cache-Einträge entstehen können.

Ist Vary User-Agent für mobile Websites sinnvoll?

Vary User-Agent kann bei tatsächlich unterschiedlichen mobilen und Desktop-Repräsentationen erforderlich sein. Responsive Design verwendet dagegen meist dieselbe HTML-Antwort für alle Geräte und benötigt für die Layout-Anpassung normalerweise keine Trennung nach User-Agent.

Wenn du HTTP-Header, Caching und Crawling deiner Website systematisch prüfen lassen möchtest, bietet ein Erstgespräch eine sachliche Einordnung der technischen Ausgangslage.

Kostenlosen Potenzialcheck anfragen


Sie haben noch Fragen?

Kontaktieren Sie uns

Free Account erstellen


Weitere Inhalte