2010-07-16 5 views
7

Wir hosten unsere Bilder auf Amazon S3 und bieten sie über Amazon Cloudfront an. Wir möchten unsere Bandbreitenkosten reduzieren. Wir sind der Meinung, dass wir ziemlich viel Bandendiebstahl haben und signierte URLs verwenden möchten, um dies zu verhindern. Allerdings müssen wir dies mit der Tatsache abgleichen, dass jedes Mal, wenn wir eine neue signierte URL senden, die Browser-Caches für das Image ungültig werden.Ausgewogenes Browser-Caching von Bildern und Zeitablauf von Links zur Vermeidung von Bandbreitendiebstahl

Unser aktueller Plan besteht darin, eine signierte URL zu generieren, die zwei Monate gültig ist. Anschließend wird sie lokal zwischengespeichert und für einen Monat bereitgestellt, bevor eine neue signierte URL generiert wird. Dadurch kann der Browser die Bilder länger zwischenspeichern. Dies bedeutet jedoch auch, dass jeder die Bandbreite für ein Bild für bis zu zwei Monate reduzieren kann.

Gibt es eine Möglichkeit, den Link früher ablaufen zu lassen, aber der Browser weiterhin dieses Bild zwischenspeichern? Ich weiß, dass die Etag und If-Modified-Since für das Bild nicht ändern, wenn die URL für einen neuen Zeitstempel resigniert, aber der Browser nicht mehr weiß, diese Werte in der Kopfzeile zu senden, denn soweit es das betrifft, Dies ist eine neue URL. Gibt es eine Möglichkeit, dieses Problem zu umgehen?

+0

Haben Sie dieses Problem jemals gelöst? Wenn ja, wie war das Ergebnis? Thx –

+0

Wir haben uns keine Sorgen über Bandbreiten-Diebstahl gemacht. – Karptonite

Antwort

2

Haben Sie gemessen, wie viel Ihrer Bandbreite gestohlen wird? Überprüfen Sie beispielsweise, wie viele Anfragen Sie für Ihre Bilder erhalten, für die kein Referrer-Feld auf Ihre eigene Website festgelegt wurde.

Für optimales Caching empfehlen wir Caching für 10 Jahre, also klingen 2 Monate ein bisschen kurz.

+0

Wir hatten versucht, Logging, aber hatte keine gute Möglichkeit, durch die Log-Dateien zu gehen, um zu quantifizieren, wie viel Bandbreite gestohlen wurde. Wir versuchen es erneut mit s3stat.com. Wenn man sich eine zufällige Log-Datei anschaut, zeigt sich im Allgemeinen etwas Leeching - es gibt einige chinesische Sites, die unsere Bilder verlinken. aber es ist schwer zu sagen, wie viel es uns kostet, wie viel es uns in der Bandbreite von Nachladungen kosten würde, wenn wir Cache-Zeiten reduzieren müssten. – Karptonite

0

Wie viel Caching benötigt wird, hängt stark vom Zugriffsmuster der Besucher auf Ihrer Website ab. Für die meisten Websites würde ich sagen, dass ein Monat Caching mehr als genug sein sollte, um effektiv Caching zu erhalten.

Bevor Sie sich viel Mühe geben, sollten Sie einen konkreten Wert auf die tatsächlichen Kosten des Leeching legen und dies gegen alle Kosten des Lösens des Problems stellen.

BTW: Wasserzeichen Ihre Bilder ist in bestimmten Fällen auch sehr effektiv.