Optimaliseer bandbreedte
Bandbreedteoptimalisatie met de ETag-header
Als je een feed hebt die minder vaak verandert dan de geplande uitvoeringen van je project, is het onnodig om de hele feed bij elke run opnieuw te downloaden. Dat kan je project onnodig vertragen en je maakt onnodige egress-kosten bij je hostingprovider.
Om onnodige downloads te voorkomen, kun je bandbreedteoptimalisatie inschakelen voor http- en https-imports. Als deze instelling aanstaat, controleren we je bestand nog steeds bij elke run, maar als je server aangeeft dat het bestand sinds de vorige download niet is veranderd, downloaden we het niet opnieuw.

Technische details
Wanneer bandbreedteoptimalisatie is ingeschakeld, slaan we tijdens een download de waarde van de ETag http-headerop, als je server deze in de respons opneemt. Bij de volgende run voegen we een If-None-Match http-header toe aan ons verzoek, met daarin de eerder waargenomen ETag-waarde. Als je server dan reageert met de http-statuscode “304 Not Modified”, weten we dat het bestand niet is veranderd.
Dat betekent dat je server twee dingen moet doen zodat bandbreedteoptimalisatie werkt:
Hij moet een ETag-header in de respons opnemen
Hij moet de If-None-Match request-header respecteren
Gangbare servers zoals Apache, Nginx en Amazon S3 ondersteunen dit standaard, dus je hoeft niets bijzonders te doen om van bandbreedteoptimalisatie te profiteren.
Als je server geen ETag-header meegeeft, of nooit een “304 Not Modified”-respons retourneert, heeft bandbreedteoptimalisatie geen effect en downloaden we het volledige bestand bij elke run.
Vragen & antwoorden
Hoe weet ik of bandbreedteoptimalisatie effectief is?
Wanneer we probeerden een bestand te importeren maar het was sinds de laatste import niet veranderd, kun je dit zien in de statusupdates van die importer:

Kan data in Channable verouderd raken als bandbreedteoptimalisatie is ingeschakeld?
Nee, er is geen risico op verouderde data als je server zich correct gedraagt. Channable controleert nog steeds of er nieuwere data beschikbaar is bij elke geplande run en elke keer dat je op “nu uitvoeren” klikt voor de import, ook wanneer bandbreedteoptimalisatie is ingeschakeld.
Zijn er nadelen aan het inschakelen van bandbreedteoptimalisatie?
Nee, als je server zich correct gedraagt, is het altijd veilig om bandbreedteoptimalisatie in te schakelen. Als je server de benodigde functionaliteit niet ondersteunt, heeft de optimalisatie geen effect, maar het is niet schadelijk.
Wanneer moet ik bandbreedteoptimalisatie uitschakelen?
Als je server verkeerd is geconfigureerd of een bug bevat, kan hij soms met “304 Not Modified” antwoorden, zelfs als je feed wel degelijk is veranderd. De meest voorkomende fout is een server die een constante ETag-waarde stuurt die niet verandert als de feed verandert. In dat geval zouden gegevens in Channable verouderd raken. Als je dit niet op je server kunt oplossen, kun je bandbreedteoptimalisatie in Channable uitschakelen.
Voorkomt bandbreedteoptimalisatie alle onnodige downloads?
We downloaden je feed nog steeds eens in de 10 dagen, zelfs als je server aangeeft dat de feed niet is veranderd. Voor bestanden die minder vaak veranderen betekent dit dat we af en toe het volledige bestand downloaden, maar bandbreedteoptimalisatie bespaart nog steeds minstens 90% van je bandbreedte.
Laatst bijgewerkt
Was dit nuttig?