2011-07-13 24 views
5

Mam wiadro na Amazon S3, w którym przechowuję pliki, które czasem się zmieniają, ale chcę korzystać z maksymalnego buforowania na nich, więc chcę użyć odcisku palca URL, aby unieważnić pamięć podręczną.Buforowanie adresów URL linków papilarnych na Amazon S3

Używam daty "ostatniej modyfikacji" plików dla odcisku palca, a strona html żądająca plików S3 zawsze zna odcisk palca każdego pliku.

Teraz zdaję sobie sprawę, że mogę używać odcisku palca w ciągu zapytania, tak jak poniżej:

http://aws.amazon.com/bucket/myFile.jpg?v=1310476099061 

ale ciąg kwerendy nie zawsze jest wystarczająca dla niektórych serwerów proxy lub starszych przeglądarek do unieważnienia pamięci podręcznej, a niektóre proxy i przeglądarki nawet go nie buforują, jeśli zawiera ciąg zapytania. Dlatego chcę zachować odcisk palca w rzeczywistej zawartości, jak jedna z nich:

http://aws.amazon.com/bucket/myFile-1310476099061.jpg 
http://aws.amazon.com/bucket/1310476099061/myFile.jpg 
http://aws.amazon.com/bucket/myFile.jpg/1310476099061 
etc 

Każdy z tych adresów URL byłby idealny dla zapytania o myFile.jpg, ale chcę to wszystko należy odwzorować na http://aws.amazon.com/bucket/myFile.jpg plik. To znaczy, chcę tylko zmienić adres URL, aby przeglądarka pomyślała, że ​​jest to nowy plik i otrzymuje nowy plik, który będzie przechowywany w pamięci podręcznej przez rok. Po przesłaniu nowej wersji tego pliku odcisk palca jest automatycznie aktualizowany.

Oto moje pytanie: czy istnieje sposób na przepisanie adresu URL, aby żądanie adresu URL, takiego jak http://aws.amazon.com/bucket/myFile-xxxxxx.jpg, wyświetliło plik http://aws.amazon.com/bucket/myFile.jpg w usłudze Amazon S3? Czy są jakieś inne obejścia, które będą przechowywać plik w pamięci podręcznej? Thanks =)

Odpowiedz

2

Obawiam się, że utknąłeś w wersji w querystringu. Nie ma sposobu na przepisanie adresów URL na S3 bez faktycznej zmiany nazwy pliku.

+0

To szkoda. Chociaż, myślę, że po prostu prześlę plik z odciskami palców w nazwie pliku i skasuję stary za pomocą skryptu, który powinien mieć ten sam efekt. Dzięki. – Flassari