Кажется, существует проблема между тем, как движок PHP обрабатывает идентичные файлы, которые отличаются только по расширению.
Проблема: "Условный запрос If-Modified-Since вернул весь контент без изменений."
Кроме того, я измерил, что расширение .php загружается намного быстрее, чем идентичный twin с расширением .xxx, даже если содержимое файла идентично, и они различаются только по расширению.
"HTTP позволяет клиентам делать условные запросы, чтобы проверить, действительна ли имеющаяся у них копия. Поскольку этот ответ имеет Last-Измененный заголовок, клиенты должны иметь возможность использовать заголовок запроса If-Modified-Since для проверки. RED сделал это и обнаружил, что ресурс отправляет полный ответ, даже если он не изменился, указывая, что он не поддерживает Last-Измененная проверка. "
домашняя страница, заканчивающаяся .php
точно таким же файлом, но еnding .ast
Учитывая:
Файл home.php копируется как home.xxx и это расширениедобавлен в htaccess, чтобы распознать его как файл PHP.Файл .php прослушивает php.ini, где свежесть установлена на 3 часа, файлы не .php должны прослушивать htaccess, где свежесть устанавливается на 2 часа в соответствии с:
AddType application/x-httpd-php .php .ast .abc .xxx .etc
<IfModule mod_headers.c>
ExpiresActive On
ExpiresDefault M2419200
Header unset ETag
FileETag None
Header unset Pragma
Header set Cache-Control "max-age=2419200"
##### DYNAMIC PAGES
<FilesMatch "\\.(ast|php|abc|xxx)$">
ExpiresDefault M7200
Header set Cache-Control "public, max-age=7200"
</FilesMatch>
</IfModule>
Пока чтохорошо и все загружается, за исключением того, что не-php файл не кэшируется должным образом, или он кэшируется хорошо, но не проверяется, если быть точным.Смотрите изображения в приложении.Только расширение не-php вызывает ошибку и загружается медленнее.
Весь page.php загружается быстрее, так как каким-то образом все элементы в нем загружаются из кеша должным образом, в то время как page.abc возвращает полный запросв то время как он должен быть кэширован, что означает, что вся страница медленнее.
Итог: что нужно изменить, чтобы исключить условный запрос If-Modified-Since, возвращающий весь контент без изменений?