Спецификация RFC 7232 прямо запрещает возвращать тело (entity-body) в ответе с кодом 304 Not Modified. Клиент должен использовать свою кэшированную копию. Заголовок
Content-Type в ответе 304 не имеет смысла и должен отсутствовать или игнорироваться.2 вариант ответа нарушает RFC.
3— 200 означает, что сервер отдал ресурс, но это не так.
4— 412 возвращается на
If-Match (если условие НЕ выполнено), а для If-None-Match при совпадении ETag правильный ответ — 304.