Возможно ли каким-то образом заставить ответ 200 (кеш) вместо 304, не измененного для статических файлов? Если это так, вы могли бы сэкономить много запросов на сервер и ускорить время загрузки для возвращающихся посетителей.Nginx - «force» 200 ответ на кеш вместо 304
ответ
Установить директиву expires
в Nginx в местах, где вы ставите свои статические файлы. Браузеры не будут проверять серверы до истечения времени истечения срока действия. В этот момент сервер может по-прежнему отправлять ответ 304, если статический файл не изменился и время истечения времени должно быть достигнуто до того, как браузер снова проверит.
Кстати, код ответа 200 просто означает, что запрашиваемый ресурс возвращается. Это не имеет никакого отношения к тому, отправляются ли какие-либо заголовки кеширования с ответом HTTP или нет.
Я нашел, что Истекает не правильно задает поведение. Ниже был уверен, что пожар:
# Set cache
expires 1M;
add_header Pragma public;
add_header Cache-Control "public";
Это происходит в вашем месте блока желаемому ..
Я также думаю, что есть много ложной информации там об этом .. Это 200 как-то так же, как 200 (кеш).
Из моего понимания:
200 - запрос сервера - передача OK 200 (кэш) - OK - запрос не сервер (из кэша) 304 - запрос сервера - нет передачи (не модифицируется)
200 (кеш), поскольку я понимаю, что НЕ делает запрос сервера вообще.
200 не является ответом на кеш; это указывает на успех и требует ответа, чтобы содержать результат. 304 указывает немодифицированный ресурс; то есть у вас это уже есть, поэтому ничего не возвращается. Итак, то, что вы предлагаете, должно привести к тому, что все 304 будут маскироваться, как 200, чтобы потерпеть неудачу. Даже если это не значит, что вы не собираетесь сохранять какие-либо запросы или ускорять что-либо с поддельными 200 ответами.
EDIT: 200 в некоторых случаях означает, что ресурс был взят из кэша с успехом ...
- 1. 200 ответ на странице ошибки Nginx 404
- 2. mod_deflate на apache заставляет браузер делать 200 вместо 304?
- 3. cURL - получение 200 OK вместо 304 в моем браузере
- 4. Jetty отвечает статусом 200 вместо 304 при использовании http2
- 5. Я вижу 200 вместо 304 для кэшированных URL-адресов
- 6. Nginx перенаправляет 302 вместо переписывания 200
- 7. squishit дает 304 (не изменено) вместо 200 (из кеша)
- 8. Как получить 304 из jQuery Ajax вместо 200?
- 9. Как всегда apache возвращает код 200 с данными вместо 304?
- 10. Ответ Джерси «NoContent» возвращает 200 вместо 204
- 11. Force Apache отправить 200 вместо 404 в .htaccess
- 12. Возвращен ли ETag в ответ 304?
- 13. Nginx возвращает HTTP-статус 200 вместо 302 в конфигурации proxy_pass
- 14. Использование HTTP 304 в ответ на POST
- 15. JQuery Ajax вебсервис 304 и 200 Error()
- 16. jQuery ajax получает 304 до 200
- 17. запрос изображения - статус ответа 200 или 304
- 18. Ответ на Stripe 200 Ok
- 19. IE кэширование поведения: ответ 304, а затем 200 на одном ресурсе?
- 20. Только кеш 200 с scrapy
- 21. Nginx подает ответ с 200 даже после вызова ngx.exit()
- 22. nginx return 200 if rewrite_by_lua_block ответ заголовок содержит шаблон
- 23. Nginx + Varnish 4 return 200 пустой ответ для всех запросов
- 24. Как очистить ответ HTTP 304 от кеша?
- 25. Force page игнорировать кеш - ColdFusion
- 26. Тот же запрос ресурсов от IE получает HTTP 200 вместо HTTP 304
- 27. Как ответ HTTP 200?
- 28. Как отключить кеш nginx
- 29. Как узнать, когда отправлять 304 Не измененный ответ
- 30. nginx force ssl http
у меня истекает срок установлен 2-х недель, но Dev инструментов Google Chrome по-прежнему показывают 304 запросов вместо 200 кодов. Это ложная информация? – ustun