Bandbreitenoptimierung mithilfe des ETag-Headers
Wenn Sie einen Feed haben, der sich selten ändert, aber Ihr Projekt in regelmäßigen Abständen aktualisiert wird, ist es Verschwendung, den gesamten Feed bei jedem Lauf neu herunterzuladen. Ihr Projekt könnte unnötig verzögert werden, und Sie verursachen unnötige Kosten bei Ihrem Hosting-Anbieter.
Um unnötige Downloads zu vermeiden, können Sie die Bandbreitenoptimierung für http- und https-Importe einschalten. Wenn diese Einstellung aktiviert ist, wird Ihre Datei trotzdem bei jedem Lauf überprüft. Wenn Ihr Server anzeigt, dass die Datei seit dem letzten Download nicht geändert wurde, wird die Datei nicht erneut heruntergeladen.
Technische Details
Wenn die Bandbreitenoptimierung aktiviert ist, speichern wir während eines Downloads den Wert des ETag http-Headers, wenn Ihr Server diesen in die Antwort einfügt. Beim nächsten Durchlauf fügen wir einen If-None-Match http-Header mit unserer Anfrage ein, der den zuvor beobachteten ETag-Wert enthält. Wenn Ihr Server dann mit dem http-Statuscode "304 Not Modified" antwortet, wissen wir, dass sich die Datei nicht geändert hat.
Das bedeutet, dass Ihr Server zwei Dinge tun muss, damit die Bandbreitenoptimierung greifen kann:
- Es muss einen ETag-Header in seiner Antwort enthalten
- Er muss den If-None-Match-Request-Header respektieren
Gängige Server wie Apache, Nginx und Amazon S3 unterstützen dies von Haus aus, sodass Sie keine besonderen Vorkehrungen treffen müssen, um die Vorteile der Bandbreitenoptimierung zu nutzen.
Wenn Ihr Server keinen ETag-Header enthält oder nie eine "304 Not Modified"-Antwort ausgibt, hat die Bandbreitenoptimierung keine Auswirkung, und wir laden bei jedem Lauf die gesamte Datei herunter.
Q&A
Woher weiß ich, ob die Bandbreitenoptimierung wirksam ist?
Wenn wir versucht haben, eine Datei zu importieren, diese sich aber seit dem letzten Import nicht geändert hat, können Sie dies in den Status-Updates für diesen Importeur sehen:
Könnten Daten in Channable veraltet sein, wenn die Bandbreitenoptimierung eingeschaltet ist?
Nein, es besteht kein Risiko veralteter Daten, wenn sich Ihr Server richtig verhält. Channable prüft immer noch bei jedem geplanten Lauf und jedes Mal, wenn Sie beim Import auf "Jetzt ausführen" klicken, ob neue Daten verfügbar sind, auch wenn die Bandbreitenoptimierung eingeschaltet ist.
Gibt es einen Nachteil bei der Aktivierung der Bandbreitenoptimierung?
Nein, wenn sich Ihr Server ordnungsgemäß verhält, ist es immer sicher, die Bandbreitenoptimierung einzuschalten. Wenn Ihr Server die Funktionen, die für die Bandbreitenoptimierung erforderlich sind, nicht unterstützt, ist die Optimierung unwirksam, aber nicht schädlich.
Wann sollte ich die Bandbreitenoptimierung deaktivieren?
Wenn Ihr Server falsch konfiguriert ist oder einen Fehler enthält, antwortet er möglicherweise mit einer "304 Not Modified"-Antwort, auch wenn sich Ihr Feed tatsächlich geändert hat. Der häufigste Fehler ist ein Server, der einen konstanten ETag-Wert sendet, der sich auch dann nicht ändert, wenn sich Ihr Feed ändert. In diesem Fall würden die Daten in Channable veraltet sein. Wenn Sie dies auf Ihrem Server nicht beheben können, können Sie die Bandbreitenoptimierung in Channable ausschalten.
Verhindert die Bandbreitenoptimierung alle unnötigen Downloads?
Wir laden Ihren Feed weiterhin alle 10 Tage herunter, auch wenn Ihr Server anzeigt, dass sich der Feed nicht geändert hat. Bei Dateien, die sich seltener ändern, bedeutet dies, dass wir gelegentlich die gesamte Datei herunterladen, aber die Bandbreitenoptimierung spart immer noch mindestens 90 % Ihrer Bandbreite.