От страна на клиента за кеширане прокси сървъри кеша и принуден нулиране
Client Side кеширане: прокси сървъри и принуден нулиране на кеша
В предишния пост говорихме за основните положения от страна на клиента за кеширане. Нека сега да разгледаме как сървърите прокси и как да се ускори изпълнението на кеша на клиент.
актуализиране на кеша
Значение Изтича инсталация с глава за по-далечно бъдеще е, че браузърът не perezaprashival ресурс отново, и го изтеглили от локалния кеш. По този начин, ако по някакъв начин променя съдържанието на сървъра, вашите "стари" потребители няма да забележат тези промени, те ще продължат да получават стиловете и скриптове от локалния кеш (HTML-документи обикновено не са кеширани толкова агресивно).
И така, какво можеш да направиш с този проблем? Както можете да кажете на браузъра, за да актуализира тези ресурси?
Основните начини за актуализиране на кеша
Има два основни начина, по които освежава желаното съдържание в браузъра на потребителя.
- Добави в името на GET-параметър файл, който ще е сигнал за ново състояние на съдържанието. Например:
И двата метода се променят адреса на файла, като по този начин принуждават браузъра, за да го изтеглите отново.
Актуализиране на кеша и прокси сървъри
Първият метод е лесен за изпълнение, но има няколко важни функции, свързани с неговата употреба. Някои прокси сървъри не кешират URL, съдържащ Get-параметри (т.е. такива URL, както в първия пример: styles.css, ако голяма част от потребителите към сайт на мрежа, която стои зад прокси сървър, всеки потребител ще се качват файлове с Get-параметри независимо, заобикаляйки кеширане механизъм на прокси сървъра. Това може да се отрази на скоростта на сайта и дори да доведе до критични ситуации.
Но възможно ли е да се използва вторият метод, за да не се промени имената на файловете във файловата система? Възможно ли е да се постигне желания резултат, а само промяна на HTML-кода? Вие можете!
Препишете правила в Apache
Apache уеб сървър има мощен механизъм скрит пренасочва към локални файлове, така наречената Вътрешни пренасочвания. Желаният ефект може да се постигне само с няколко правила за всички видове файлове, за да бъдат кеширани. За втори пример, коя версия на файла съдържа posle.v правила ще изглежда по следния начин:
Благодарение на тези правила, са поискали да бъдат пренасочени към същото за тяхното физическо еквивалент досието на всяка версия. Това ще бъде достатъчно, за да промени версията на файла в URL адреса и браузърът поиска файла отново.
Автоматично обновяване на кеша
Има решение за автоматизиране на процеса на актуализация в клиентския кеша на всички променени файлове. Но не всичко е розово.
Тъй като Web Optimizer съчетава всички ресурси в един файл, всеки ресурс, който е част от крайния файл, за да проверят атрибут Mtime (време модификация). Ако има промени, които трябва да обединим ресурсите отново. Трудностите, свързани с тази проверка ще бъдат обсъдени в друга статия, но е важно преди всичко е, че този процес е много много ресурси, особено ако тя упражнения с всяка заявка за страница.
Можете, обаче, да кешира всички предишни проверки в един файл и да провери прави времето на промяна него. Това е времето за промяна подразбиране се проверява само CSS или JS файл и ако е необходимо, да промените URL адреса на файл (GET-параметър, чрез добавяне или промяна на името на файла). Този подход се прилага за всички файлове, които искате да кешира от страна на клиента. Резултатът ще изглежда по следния начин:
/cache/website.css вижда от примера на първия времеви печат файл добавен като GET-параметър, а вторият като част от URL адреса (това се обработват с помощта на mod_rewrite правила Apache и се превръща в /cache/website.css).
обща схема
Така че това, което е кеширане алгоритъм страна на клиента на сайта?
- Проверете, за да се види дали има обединен файл. - ако не, създайте го.
- Проверете прави времето на промяна модифициран файл. Ако е необходимо, добавете времето за промяна на файл на URL адреса (с помощта на един от методите, описани по-горе).
- Браузърът получава HTML-кода с URL адреса на обединената файл.
- Браузърът проверява дали URL в кеша, и ако съществува, процесът приключва.
- Ако няма URL в кеша, браузърът поиска файл (който вече е изготвен на уеб сървър или кеширана на прокси сървъра).
Също така препоръчваме да прочетете статията за автоматизация кеширане webo.in.