От страна на клиента за кеширане прокси сървъри кеша и принуден нулиране

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).

обща схема

Така че това, което е кеширане алгоритъм страна на клиента на сайта?

  1. Проверете, за да се види дали има обединен файл. - ако не, създайте го.
  2. Проверете прави времето на промяна модифициран файл. Ако е необходимо, добавете времето за промяна на файл на URL адреса (с помощта на един от методите, описани по-горе).
  3. Браузърът получава HTML-кода с URL адреса на обединената файл.
  4. Браузърът проверява дали URL в кеша, и ако съществува, процесът приключва.
  5. Ако няма URL в кеша, браузърът поиска файл (който вече е изготвен на уеб сървър или кеширана на прокси сървъра).

Също така препоръчваме да прочетете статията за автоматизация кеширане webo.in.

прочети повече