Vary-Header

Was ist ein Vary-Header?

Der Vary-Header ist ein HTTP-Antwort-Header, der Caches mitteilt, von welchen Anfrage-Headern die ausgelieferte Variante einer Ressource abhängt. Ein Eintrag wie Vary: Accept-Encoding sorgt dafür, dass komprimierte und unkomprimierte Antworten getrennt gespeichert werden. Dadurch erhält jeder Client die technisch passende Version.

Der Vary-Header, auf Deutsch sinngemäß Varianten-Header, steuert die Wiederverwendung zwischengespeicherter HTTP-Antworten. Ein Webserver kann unter derselben URL unterschiedliche Versionen einer Datei ausliefern, beispielsweise abhängig von unterstützter Komprimierung, Sprache oder Gerätetyp. Der Header kennzeichnet die Anfrage-Merkmale, die ein Cache bei der Auswahl berücksichtigen muss.

Wie funktioniert der Vary-Header?

Ein Browser, Proxy oder Content Delivery Network speichert eine Serverantwort normalerweise unter der aufgerufenen URL. Enthält die Antwort zusätzlich Vary: Accept-Encoding, gehört auch der Anfrage-Header Accept-Encoding zum Cache-Schlüssel. Eine Anfrage mit Unterstützung für Brotli kann dadurch eine andere Antwort erhalten als eine Anfrage, die nur Gzip oder keine Komprimierung unterstützt.

Ein typischer Austausch sieht vereinfacht so aus:

  • Der Client sendet Accept-Encoding: br, gzip.
  • Der Server liefert eine Brotli-komprimierte Datei und Vary: Accept-Encoding.
  • Der Cache speichert die Brotli-Variante zusammen mit dem relevanten Anfragewert.
  • Ein Client ohne Brotli-Unterstützung erhält eine separate, kompatible Variante.

Der Vary-Header erzeugt den Cache-Schlüssel nicht allein. Die konkrete Cache-Implementierung entscheidet, wie Varianten gespeichert werden. Der Header liefert jedoch die notwendige Information, damit Antworten für unterschiedliche Anfragen nicht irrtümlich vermischt werden.

Ein Vary-Header kann mehrere Felder enthalten. Vary: Accept-Encoding, Accept-Language bedeutet, dass der Cache sowohl die unterstützte Komprimierung als auch die angefragte Sprache berücksichtigen muss. Jede zusätzliche Dimension erhöht die mögliche Zahl gespeicherter Varianten.

Typische Werte im Vary-Header

Welche Anfrage-Header in Vary stehen sollten, hängt von der tatsächlichen Auslieferungslogik des Servers ab. Ein Feld gehört nur dann hinein, wenn sich die Antwort aufgrund dieses Anfragewertes verändern kann.

WertVerwendungMögliche Auswirkung
Accept-EncodingVarianten für Brotli, Gzip oder unkomprimierte ÜbertragungVerhindert die Auslieferung einer inkompatibel komprimierten Antwort
Accept-LanguageSprachabhängige Inhalte unter derselben URLErzeugt getrennte Cache-Varianten je Sprachpräferenz
User-AgentDynamische Auslieferung abhängig vom Browser oder GerätKann sehr viele Varianten und eine niedrige Cache-Trefferquote erzeugen
OriginUnterschiedliche CORS-Antworten je anfragender HerkunftVerhindert die Wiederverwendung einer Antwort für eine unpassende Domain
*Die Antwort hängt von nicht vollständig benannten Anfragefaktoren abEine normale Wiederverwendung aus dem Cache ist kaum möglich

Vary-Header und technisches SEO

Der Vary-Header ist kein direkter Ranking-Faktor. Eine fehlerhafte Konfiguration kann jedoch Ladezeiten, Crawling und die konsistente Auslieferung von Inhalten beeinflussen. Diese technischen Folgen sind für die Onpage-Optimierung relevant, weil Suchmaschinen und Nutzer dieselbe URL unter verlässlichen Bedingungen abrufen müssen.

Fehlt beispielsweise Vary: Accept-Encoding, obwohl der Server komprimierte und unkomprimierte Antworten ausliefert, kann ein gemeinsam genutzter Cache eine unpassende Version bereitstellen. Der Nutzer erhält dann im ungünstigen Fall eine fehlerhafte Antwort oder der Cache muss zusätzliche Anfragen an den Ursprungsserver senden. Prüfe deshalb, ob die im Header genannten Felder zur tatsächlichen Inhaltsauswahl passen.

Ein zu breit gesetzter Vary-Header verursacht ein anderes Problem: Jeder zusätzliche Anfragewert kann eine eigene Cache-Variante erzeugen. Besonders Vary: User-Agent führt potenziell zu zahlreichen Varianten, weil sich User-Agent-Zeichenfolgen zwischen Browsern, Geräten und Bots unterscheiden. Die Cache-Trefferquote kann sinken, obwohl der ausgelieferte Inhalt nahezu identisch ist.

Dynamische mobile Auslieferung

Bei dynamischer Auslieferung kann dieselbe URL abhängig vom User-Agent unterschiedlichen HTML-Code für Mobilgeräte und Desktop-Rechner senden. Vary: User-Agent signalisiert diese Abhängigkeit gegenüber Caches und Crawlern. Die Konfiguration muss dennoch sicherstellen, dass der Googlebot die vollständigen Inhalte, strukturierten Daten, internen Links und Meta-Angaben der mobilen Variante abrufen kann.

Responsive Design benötigt gewöhnlich keine HTML-Variante anhand des User-Agents, weil dieselbe Ressource für alle Geräte ausgeliefert und das Layout über CSS angepasst wird. Der Unterschied zwischen responsiver Gestaltung und dynamischer Auslieferung liegt damit auf Serverebene: Nur die dynamische Auslieferung verändert die Antwort aufgrund des anfragenden Clients.

Abgrenzung zu Cache-Control

Der Unterschied zwischen Vary-Header und Cache-Control liegt in ihrer Aufgabe. Cache-Control bestimmt, ob und wie lange eine Antwort gespeichert oder erneut geprüft werden darf. Der Vary-Header bestimmt dagegen, welche Merkmale einer Anfrage bei der Auswahl einer bereits gespeicherten Antwort berücksichtigt werden müssen.

Eine Antwort kann deshalb beide Angaben enthalten, beispielsweise Cache-Control: public, max-age=3600 und Vary: Accept-Encoding. Die Antwort darf in diesem Beispiel für 3.600 Sekunden öffentlich zwischengespeichert werden, wobei für unterschiedliche Komprimierungsfähigkeiten getrennte Varianten erforderlich sind.

Vary-Header richtig prüfen

Der Vary-Header steht in der HTTP-Antwort und lässt sich in den Entwicklertools des Browsers im Bereich Netzwerk unter den Response Headers kontrollieren. Alternativ zeigt eine Header-Abfrage auf der Kommandozeile, welche Angaben der Server für eine URL zurücksendet. Führe die Prüfung mit verschiedenen Anfrage-Headern durch, wenn der Server mehrere Varianten ausliefert.

Eine technische Prüfung sollte mindestens folgende Punkte abdecken:

  • Der Server sendet den Header nur für tatsächlich variierende Antworten.
  • Komprimierte Ressourcen enthalten bei Bedarf Vary: Accept-Encoding.
  • CDN, Reverse Proxy und Ursprungsserver behandeln dieselben Felder konsistent.
  • Sprach- oder Gerätevarianten liefern vollständige und inhaltlich passende Antworten.
  • Der Wert * wird nur verwendet, wenn keine gezieltere Angabe möglich ist.

Ein technisches SEO-Audit sollte Header immer im Zusammenspiel mit Komprimierung, CDN-Konfiguration, Weiterleitungen, Statuscodes und Server-Antwortzeiten bewerten. Ein isoliert korrekt aussehender Header genügt nicht, wenn nachgelagerte Caches ihn ignorieren oder der Ursprungsserver widersprüchliche Varianten sendet.

Übernimm keine lange Liste von Header-Feldern vorsorglich in Vary. Unnötige Werte vergrößern den Cache-Schlüssel, senken die Trefferquote und erhöhen die Zahl der Anfragen an den Ursprungsserver. Benenne nur Anfragefelder, die die ausgelieferte Antwort tatsächlich verändern.

Häufige Fragen zum Vary-Header

Ist der Vary-Header ein Ranking-Faktor?

Nein. Der Vary-Header beeinflusst Rankings nicht direkt. Eine unpassende Konfiguration kann jedoch Caching, Ladezeit und die Auslieferung an Suchmaschinen-Crawler beeinträchtigen und damit technische SEO-Probleme verursachen.

Wann braucht eine Website Vary: Accept-Encoding?

Vary: Accept-Encoding ist sinnvoll, wenn ein Server dieselbe Ressource abhängig von der Client-Unterstützung komprimiert oder unkomprimiert ausliefert. Der Header verhindert, dass ein Cache eine Brotli- oder Gzip-Variante an einen inkompatiblen Client sendet.

Kann ein Vary-Header die Ladezeit verschlechtern?

Ja. Zu viele Variationsmerkmale können die Cache-Trefferquote senken, weil für zahlreiche Kombinationen eigene Antworten gespeichert werden. Dadurch muss ein CDN oder Proxy häufiger den Ursprungsserver anfragen.

Ist Vary: User-Agent für mobile Websites erforderlich?

Vary: User-Agent ist vor allem bei dynamischer Auslieferung relevant, wenn dieselbe URL je nach Gerät unterschiedliches HTML sendet. Bei Responsive Design wird meist dasselbe HTML ausgeliefert, weshalb diese Variante gewöhnlich nicht erforderlich ist.

Wie erkenne ich einen falsch gesetzten Vary-Header?

Vergleiche die Serverantworten für unterschiedliche Anfrage-Header. Verändert sich die Antwort, ohne dass das betreffende Feld in Vary genannt wird, kann ein Cache Varianten vermischen. Bleibt die Antwort gleich, obwohl zahlreiche Felder genannt werden, entstehen möglicherweise unnötige Cache-Varianten.

Was bedeutet Vary mit einem Sternchen?

Vary mit dem Wert Sternchen signalisiert, dass die Auswahl der Antwort von nicht vollständig benannten Faktoren der Anfrage abhängt. Ein Cache kann dadurch kaum zuverlässig feststellen, ob eine gespeicherte Antwort wiederverwendet werden darf.

Wenn du HTTP-Header, Caching und weitere technische Signale deiner Website systematisch prüfen lassen möchtest, bietet ein Potenzialcheck eine belastbare Grundlage für die nächsten Schritte.

Kostenloser Potenzialcheck


Sie haben noch Fragen?

Kontaktieren Sie uns

SEO Agentur kostenlose SEO Potentialanalyse


Weitere Inhalte