Jak mogę się upewnić, że zawartość statyczna (obrazy, css, javascript) jest zapisana w pamięci podręcznej? Jakie jest najlepsze podejście?Jak mogę się upewnić, że zawartość statyczna jest buforowana po stronie klienta?
Odpowiedz
Zalecamy przejście przez this tutorial, aby zrozumieć, jak ogólnie dzieje się buforowanie w sieci (HTTP).
Po prostu serwer internetowy musi wygenerować odpowiednie nagłówki HTTP podczas wysyłania treści do klienta w celu kontrolowania buforowania po stronie klienta. W środowisku ASP.NET/IIS, jego IIS, który zwykle obsługuje zawartość plików statycznych, a zatem należy odpowiednio skonfigurować usługi IIS w celu kontrolowania buforowania plików statycznych zgodnie z potrzebami. Zobacz poniżej linki, aby uzyskać więcej informacji na temat konfigurowania buforowania IIS dla zawartości statycznej:
http://www.iis.net/ConfigReference/system.webServer/staticContent/clientCache
How to configure static content cache per folder and extension in IIS7?
EDIT: Jak można prosić o najlepszym podejściem, najbardziej rozpowszechnione podejście, które widzę teraz dzień jest wersja statyczna (powiedzmy, dołączając jakiś identyfikator wersji na końcu pliku lub URL). Po wersjonowaniu można traktować go jako niezmienny, a następnie emitować nagłówki pamięci podręcznej, aby buforować je przez nieskończony czas. W aplikacji ASP.NET można prawdopodobnie dołączyć wersję zespołu (lub wersję produktu) do każdego statycznego adresu URL treści. Zasadniczo unieważnisz pamięć podręczną dla każdej kompilacji (lub każdej wersji produktu).
Możesz także skorzystać z manifestu aplikacji internetowych HTML5 offline. Pozwala skonfigurować manifest, w którym definiujesz, które pliki będą buforowane lokalnie.
Jest to przyjemny, zrozumiały i szeroko stosowany sposób unikania konieczności poznawania buforowania o wartości IIS
i HTML
.
http://www.w3schools.com/html/html5_app_cache.asp
(należy całkowicie przeczytać o tych rzeczach)
+1 dla łącza samouczka –
@VinayC Co o problemie na [Jak buforować js i css pliki aplikacji ASP.NET MVC serwowane na IIS] (http://stackoverflow.com/questions/41391542/how-to-cache-js-and-css-files-of-asp-net-mvc-application-served-on-iis/)? Z góry dziękuję ... –
@ ClintEastwood, dopóki serwujesz pliki statyczne, będzie działać emiterowanie nagłówków cache przy użyciu konfiguracji IIS. Aby obsłużyć aktualizacje statycznej treści, musisz użyć wersjonowanych adresów URL (np. /image/a.png?v=2), aby przeglądarka zażądała ich ponownie za każdym razem, gdy zmienisz wersję. – VinayC