Одна вещь, которая не упоминается, но вероятно должна быть, - какой подход масштабируется лучше всего. Можно быть маленьким запуском теперь (и таким образом у Вас нет денег, и свободный дистрибутив является лучшим), но если компания действительно успешна, вероятно, необходимо увеличить масштаб системы скорее быстро, и в той точке Вы, вероятно, захотите заплаченную поддержку своей фермы сервера.
Поэтому я выбрал бы CentOS, так как это - горный дистрибутив тела, и Ваше приложение беспрепятственно перейдет к Red Hat Enterprise Linux, если и когда время настанет.
html5boilerplate.com включает хорошо прокомментированный .htaccess файл, который имеет много стандартных настроек, которые необходимо рассмотреть. Среди них разумные настройки для истечения содержания (Истекает, Завершающие теги...).
Обратите внимание, что Последние модифицированные
заголовки - это слабые заголовки кэша. В настоящее время предпочтение отдается использованию Cache-Control
заголовков.
Google написал хорошую статью об этом.
Expires and Cache-Control: max-age. Они определяют "свежесть жизнь" ресурса, то есть, период времени, в течение которого браузер может использовать кэшированный ресурс без проверки на наличие нового версия доступна с веб-сервера. Это "сильное кэширование заголовки", которые применяются безоговорочно, то есть, как только они установлены и ресурс загружен, браузер не будет выдавать никаких GET-запросов для ресурса до истечения срока годности или до достижения максимального возраста.
Last-Modified and ETag. Они определяют некоторые характеристики ресурс, который проверяет браузер, чтобы определить, являются ли файлы Тоже самое. В заголовке "Last-Modified" это всегда дата. В метке ETag заголовок, это может быть любое значение, которое уникально идентифицирует ресурс. (типичны версии файлов или хэши содержимого). Last-Modified - это "слабый" кэширующий заголовок в том, что браузер применяет эвристический подход к определить, нужно ли извлекать предмет из кэша или нет. (Эвристика различаются между разными браузерами). Однако, эти заголовки позволяют браузер для эффективного обновления своих кэшированных ресурсов путем выдачи условные GET-запросы, когда пользователь явно перезагружает страницу. Условные GET-запросы не возвращают полный ответ, если только ресурс изменился на сервере, и, таким образом, имеет более низкую задержку, чем полные GET.
Я рекомендую использовать либо Cache-Control
, либо Expires
заголовки по мере необходимости, так как они являются сильными заголовками кэш-памяти. Некоторые системы будут игнорировать даты Last-Modified. Затем для проверки заголовков можно использовать инструмент типа curl
или http://redbot.org.