Использование обратного прокси-сервера, такого как Squid, Varnish или даже Apache mod_cache, очень поможет вам в отношении HTTP-заголовков, связанных с кэшем.Однако, если вам нужна полная версия PHP, вы должны соблюдать Cache-Control, а затем Expires, потому что, когда Cache-Control и Expires доступны в одном и том же HTTP-ответе, Cache-Control имеет приоритет с атрибутом «max-age», как описано в http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.9.3:
Если ответ содержит заголовок Expires и директиву max-age, директива max-age переопределяет заголовок Expires, даже если заголовок Expires более ограничивающий.Это правило позволяет исходному серверу предоставлять для данного ответа более длительное время истечения для кэша HTTP / 1.1 (или более поздней), чем для кэша HTTP / 1.0.Это может быть полезно, если некоторые кэши HTTP / 1.0 неправильно рассчитывают возраст или время истечения срока действия, возможно, из-за десинхронизированных часов.
Вы также должны быть очень осторожны с атрибутом no-cache, который является своего родавводит в заблуждение, так как требует повторной проверки с сервером происхождения, поэтому он немного похож на заголовок «хранить, но не обслуживать из кэша без повторной проверки».
Вы также можете игнорироватьЗаголовок Pragma по двум причинам:
- это заголовок запроса, а не заголовок ответа
- это для HTTP 1.0 и (почти весь) мир теперь HTTP 1.1:)
'Надеюсь, это поможет:)