для отправки 304 Вам нужно включить Etag в заголовки вашего ответа, etag - это что-то вроде хэша самого контента и даты его создания.
После того, как вы включите etag в ответ, браузер отправит вам заголовок запроса "If-None-Match ".
Вы должны сравнить эти заголовки и, если они совпадают, ответить 304, если нет, отправить новый контент с новым заголовком Etag и статусом 200.