Функція header() дуже часто використовується в PHP, і я запропоную деякі методи її використання для виконання кешування сторінок, але перед використанням header слід зазначити, що жоден вивід не може бути виконаний перед ним, включаючи пробіли.
Налаштування, які не кешуються
У інструкції ми всі пишемо, як налаштувати кеш так, щоб код не кешувався:
І при налаштуванні слід звертати увагу на те, що перед заголовком не може бути виходу, інакше налаштування заголовка буде недійсним.
Налаштування кешу сторінки або зображень
Як налаштувати кеш для сторінки, хоча ми знаємо, що існують способи це зробити, наприклад, E-TAG. Звісно, є й прості налаштування: Наприклад, ми робимо MD5 для контенту перед виходом і ставимося до нього як до e-тегу, якщо він не змінюється, це не матиме жодного впливу. (Це схоже на код статусу сервера 304, де запитана сторінка не змінювалася з моменту останнього запиту.) Коли сервер повертає цю відповідь, вебконтент не повертається. ) Є й інші способи:
Кешуйте 1 годину, головним чином час закінчення потрібно встановити gmdate, а не дату, це варто зазначити, інші варіанти схожі. Максимальний вік має бути сумісним із Expire.
Для динамічного контенту, згенерованого PHP, потрібно лише вивести заголовок, який змушує використовувати кешування перед виведенням контенту, наприклад, наступний код вимагає, щоб браузер кешував файл протягом 1 місяця:
|