Alle Standorte aktiv · 99.99% Uptime
Protokolle

Der Caching-Mechanismus von HTTP Proxys

Caching gehoert zu den aeltesten Funktionen eines Proxys: Statt denselben Inhalt immer wieder herunterzuladen, wird eine Kopie gespeichert und spaetere Anfragen werden lokal beantwortet. Mit der Verbreitung von HTTPS hat sich der Anwendungsbereich dieser Funktion verengt, aber sie ist nicht vollstaendig verschwunden — und in Ihrer eigenen Datenerfassungspipeline ist sie nach wie vor eine erhebliche Einsparquelle.

Grundlegender Ablauf

ABBILDUNGAnfrageablauf bei einem Proxy mit Cache
ABLAUFClientProxyCacheUrsprungsserverAnfrage trifft einIm Cache vorhanden?Falls nicht, zur Quelle gehenAntwort speichernAn den Client weiterleitenBei der zweiten Anfrage laufen nur die ersten beiden Schritte

Bei einem Cache-Treffer wird der Ursprungsserver gar nicht erst kontaktiert. Das ist ein Gewinn sowohl bei der Geschwindigkeit als auch bei der Bandbreite und der Last auf dem Zielserver.

Wer bestimmt, was gespeichert wird?

Die Entscheidung trifft der Server und teilt sie ueber den Header Cache-Control mit:

DirektiveBedeutungProxy-Verhalten
publicDarf von einem gemeinsamen Cache gespeichert werdenSpeichert
privateNur der Browser darf speichernSpeichert nicht
no-storeDarf gar nicht gespeichert werdenSpeichert nicht
no-cacheDarf gespeichert werden, muss aber bei jeder Verwendung validiert werdenStellt eine konditionale Anfrage
max-age=3600Gilt 3600 Sekunden lang als frischGeht waehrend dieser Zeit nicht zur Quelle
s-maxage=600Eigene Dauer fuer gemeinsame CachesHat Vorrang vor diesem Wert
Haeufig verwechselt:

no-cachebedeutet nicht "gar nicht speichern" — es bedeutet "speichern, aber vor der Verwendung validieren". Das Gegenstueck zu "gar nicht speichern" ist no-store.

Konditionale Anfragen: 304 Not Modified

Wenn die Kopie im Cache veraltet, muss der Proxy den Inhalt nicht von Grund auf neu herunterladen. Er fragt den Server: "Ist die Version, die ich habe, noch gueltig?"

ABBILDUNGKonditionale Anfrage und 304-Antwort
VALIDIERUNGProxyUrsprungsserverGET /seite · If-None-Match: "abc123"304 Not Modified (kein Body)Nur einige hundert ByteDie Kopie aus dem Cache wird verwendet

Die 304-Antwort enthaelt keinen Body; es werden nur Header zurueckgegeben. Das bedeutet, eine 500 KB grosse Seite auf 300 Byte zu reduzieren.

Diesen Mechanismus in Ihrer eigenen Datenerfassungspipeline zu nutzen, senkt die Bandbreitenkosten deutlich.

Wie hat HTTPS das Caching veraendert?

Sobald ein CONNECT-Tunnel aufgebaut ist, sieht der Proxy den Inhalt nicht — folglich kann er ihn auch nicht cachen. Da nahezu das gesamte Web auf HTTPS umgestiegen ist, ist klassisches Proxy-Caching weitgehend funktionslos geworden.

ABBILDUNGCaching: HTTP und HTTPS
AUSWIRKUNGReines HTTPHTTPS (CONNECT)Der Proxy sieht den InhaltJaNeinKann cachenJaNeinStellt eine konditionale AnfrageJaNeinBandbreitenersparnisHochKeineHeutiger AnteilSehr geringNahezu vollstaendig

Deshalb ist modernes Caching von der Proxy-Ebene auf die CDN- und Client-Ebene gewandert.

Einen eigenen Cache einrichten

Wenn Proxy-Caching nicht nutzbar ist, koennen Sie denselben Vorteil in Ihrer eigenen Anwendung erzielen. In Datenerfassungspipelines ist das sehr wirkungsvoll:

ABBILDUNGETag-basierte konditionale Anfrage
Python — einfacher Anfrage-Cache01import requests, json, hashlib, pathlib0203CACHE = pathlib.Path("onbellek"); CACHE.mkdir(exist_ok=True)0405def anahtar(url):06 return hashlib.sha1(url.encode()).hexdigest()0708def getir(url, session):09 dosya = CACHE / (anahtar(url) + ".json")10 basliklar = {}11 onceki = None12 if dosya.exists():13 onceki = json.loads(dosya.read_text(encoding="utf-8"))14 if onceki.get("etag"):15 basliklar["If-None-Match"] = onceki["etag"]1617 r = session.get(url, headers=basliklar, timeout=25)18 if r.status_code == 304 and onceki:19 return onceki["govde"] # Traffic: einige hundert Byte2021 kayit = {"etag": r.headers.get("ETag"), "govde": r.text}22 dosya.write_text(json.dumps(kayit), encoding="utf-8")23 return r.text

Diese einfache Schicht verhindert, dass Sie selten geaenderte Seiten immer wieder herunterladen. Bei GB-basierten Ressourcen wie Residential Proxys schlaegt sich die Ersparnis direkt auf der Rechnung nieder.

Wann ist Caching falsch?

Cache geeignet

  • Selten geaenderte Produkt- und Kategorieseiten.
  • Statische Referenzdaten.
  • Aufgaben, die dieselbe Seite mehrmals am Tag abrufen.
  • Entwicklungs- und Testphase (schont das Kontingent).

Cache ungeeignet

  • Echtzeit-Preis- und Bestandsueberwachung.
  • Personalisierte Inhalte.
  • Seiten, die eine Session erfordern.
  • SEO-Aufgaben, die Rankingveraenderungen verfolgen.
Achtung

Mit veralteten Daten aus dem Cache zu arbeiten, kann zu schlechteren Ergebnissen fuehren, als gar keine Daten zu erheben. Halten Sie die Cache-Dauer in zeitkritischen Bereichen wie Preisen und Bestaenden sehr kurz oder verzichten Sie ganz darauf.

Zusammenfassung

Proxy-Caching hat mit der Verbreitung von HTTPS im klassischen Sinne weitgehend seine Funktion verloren, denn im CONNECT-Tunnel sieht der Proxy den Inhalt nicht. Dieselbe Logik in Ihrer eigenen Anwendungsschicht aufzubauen, ist dagegen weiterhin moeglich und sehr wertvoll. ETag-basierte konditionale Anfragen eliminieren bei selten geaenderten Inhalten nahezu den gesamten Traffic. Bei zeitkritischen Daten hingegen sollten Sie Caching vermeiden. Fuer die Verbrauchsrechnung werfen Sie einen Blick in unseren Beitrag zur Bandbreite können Sie nachlesen.

Häufig gestellte Fragen

01Kann ein Proxy HTTPS-Traffic cachen?

Nein. Im CONNECT-Tunnel transportiert der Proxy verschluesselte Bytes und sieht den Inhalt nicht; folglich kann er ihn auch nicht speichern. Da nahezu das gesamte Web auf HTTPS laeuft, ist klassisches Proxy-Caching weitgehend hinfaellig geworden.

02Worin besteht der Unterschied zwischen no-cache und no-store?

no-cache bedeutet "speichern, aber vor der Verwendung validieren"; no-store bedeutet "gar nicht speichern". Beide werden haeufig verwechselt und fuehren zu unterschiedlichem Verhalten.

03Wie viel spart 304 Not Modified ein?

Da kein Antwortkoerper gesendet wird, werden nur einige hundert Byte an Headern uebertragen. Fuer eine 500 KB grosse Seite bedeutet das eine Reduktion des Traffics auf ein Tausendstel.

04Sollte ich einen eigenen Cache einrichten?

Wenn Sie dieselben Seiten immer wieder abrufen, unbedingt ja. Besonders wenn Sie Residential Proxys nutzen, die nach GB abgerechnet werden, schlaegt sich die Ersparnis direkt auf der Rechnung nieder.

05Kann ich beim Preis-Monitoring einen Cache verwenden?

Tun Sie das nicht, oder halten Sie die Dauer sehr kurz. Veraltete Preisdaten fuehren zu falschen Entscheidungen und koennen schaedlicher sein, als gar keine Daten zu erheben.

Verwandte Beiträge und Seiten

NÄCHSTER SCHRITT

Stärken Sie Ihre Proxy-Infrastruktur noch heute.

Starten Sie mit den kostenpflichtigen Paketen in wenigen Minuten oder testen Sie zuerst unsere kostenlose Proxy-Liste.

FREEPROXY.TR

Wenn Sie einen kostenlosen Proxy suchen, sind Sie hier richtig

Eine umfassende Proxy-Plattform: aktuelle kostenlose Proxy-Adressen ansehen, HTTP- und SOCKS-Proxy-Typen vergleichen und Ihre Proxy-Verbindungen mit kostenlosen Tools prüfen.