Как сделать 304 заголовок на 1С-Битрикс
Варианта 3: простой, с помощью готового модуля или через композит.
Заголовок Last Modified в настройках 1С-Битрикс
Это один из самых простых способов добавить заголовок на сайте. Нужно в настройках всех компонентов (новостей и каталога) поставить галочку у параметра "Устанавливать в заголовках ответа время модификации страницы". Если такого параметра нет, то либо компонент не поддерживает данный функционал (и это нормально), либо у вас старое ядро.
Минусы такого решения, это не всегда корректное время модификации страницы и невозможность прервать загрузку контента с отдачей 304 заголовка без доработки.
Бесплатный готовый модуль
На маркетплейсе есть готовые модули, позволяющие настроить заголовки очень быстро. Например http://marketplace.1c-bitrix.ru/solutions/abudagov.lastmodified/ Достаточно только установить.
UPD: модуля на маркетплейсе больше нет, т.к. я убрал перестал его поддерживать. Да и, если честно, модуль был так себе :) Скачать его можно в этом посте
UPD 2: модуль не очень, удалил совсем
Модуль может некорректно работать на Вашем сайте, если в коде имеются блоки, контент которых меняется при каждом обновлении страницы.
Заголовок Last Modified при работе композитного кеша
Это самый правильный, на мой взгляд, вариант отдачи заголовков.
Вкратце, композитный кеш работает так: при посещении страницы создается html файл с кодом этой страницы. При последующем посещении код страницы уже отдается из ранее созданного файла, что сводит время генерации страницы сервером к нулю.
Так вот, у созданных композитным кешированием файлов есть время создания (как и любого другого файла), которое и используется для заголовка Last Modified. Гениально и просто, ну если не учитывать сложность настройки композитного кеша :)
Работает это "из коробки", если композитный кеш настроен, то заголовок будет отдаваться автоматически ядром битрикс.
Проверить корректность заголовков можно с помощью сайта https://last-modified.com/
Есть вопросы или нашли ошибку? Напишите комментарий (можно без регистрации), отвечать стараюсь быстро.