Czy można jakoś wymusić odpowiedź 200 (cache) zamiast 304 niezmodyfikowaną dla plików statycznych? Jeśli tak, możesz potencjalnie zapisać wiele żądań serwera i znacznie przyspieszyć ładowanie dla powracających gości.Nginx - "force" 200 odpowiedź cache zamiast 304
Odpowiedz
Ustaw dyrektywę expires
w Nginx w lokalizacjach, z których serwer jest statyczny. Przeglądarki nie będą zawracać sobie głowy sprawdzaniem serwera, dopóki nie upłynie jego czas. W tym momencie serwer nadal może wysłać odpowiedź zwrotną 304, jeśli plik statyczny nie został zmieniony, a czas wygaśnięcia musi zostać osiągnięty, zanim przeglądarki ponownie sprawdzą.
Nawiasem mówiąc, kod odpowiedzi 200 oznacza po prostu, że żądany zasób jest zwracany. Nie ma to nic wspólnego z tym, czy jakiekolwiek nagłówki buforowania są wysyłane z odpowiedzią HTTP, czy nie.
Znalazłem, że sama Expires nieprawidłowo ustawia zachowanie. Poniżej był pewny ogień:
# Set cache
expires 1M;
add_header Pragma public;
add_header Cache-Control "public";
ten zamiar w swoim bloku pożądanej lokalizacji ..
Myślę też istnieje wiele błędnych informacji na ten tam .. To 200 to jakoś tak samo jak 200 (pamięć podręczna).
Z mojego zrozumienia:
200 - żądanie serwera - przeniesienie OK 200 (cache) - OK - brak żądania serwer (z bufora) 304 - żądanie serwera - brak transferu (niemodyfikowane)
200 (pamięć podręczna), ponieważ rozumiem, że wcale NIE żąda serwera.
200 nie jest odpowiedzią na pamięć podręczną; wskazuje na sukces i wymaga, aby odpowiedź zawierała wynik. 304 oznacza niezmodyfikowany zasób; to znaczy, że już to masz, więc nic nie jest zwracane. Sugeruje to, że wszystkie 304 udaje, że się nie udaje. Nawet, jeśli nie, nie zapisujesz żadnych żądań ani nie przyspieszysz niczego z fałszywymi 200 odpowiedziami.
EDIT: 200, w niektórych przypadkach oznacza zasób został zaczerpnięty z pamięci podręcznej z powodzeniem ...
- 1. 304 Not Modified z 200 (z bufora)
- 2. jak wysłać tylko odpowiedź 200 w node.js
- 3. 304 niezmodyfikowane w plikach statycznych
- 4. Przeglądarki zdają się ignorować instrukcji odpowiedź Cache-Control
- 5. CakePHP 3: Odpowiedź Ajax zwraca kod odpowiedzi 200 i parsererror
- 6. Odpowiedź Mongodb spowalnia niewiarygodnie po 200 000 rekordach
- 7. jQuery AJAX "200 OK", ale żadna odpowiedź dane
- 8. Google Cloud punkty końcowe nie przestrzegając nagłówki cache ETAG
- 9. Odpowiedź symfony zwrot 401 zamiast przekierowania
- 10. MongoDB zapytanie produkuje lub odpowiedź zamiast I
- 11. Nginx próbuje pobrać plik zamiast wyświetlać
- 12. Czy powinienem wybrać Varnish zamiast nginx?
- 13. RESTful żądanie POST, jeśli rekord już istnieje na danych POST, czy zwrócimy 200 OK czy 304 Nie zmieniono?
- 14. zwroty ekspresowe 304 dla żądań powtórzeń IE
- 15. 304: Nie zmodyfikowane i buforowanie z przodu
- 16. Żądanie Jquery JSONP otrzymuje odpowiedź 200 z danymi, ale błąd flagi
- 17. Żądanie HTTP zwraca 200 OK, ale brak treści w odpowiedzi
- 18. force download image base64
- 19. Guava Ticker Cache wygasają
- 20. Notacja frakcji LaTeX force slash
- 21. JavaFX force recompute binding
- 22. CORS i non 200 kod stanu
- 23. Skonfiguruj MVC.NET OutputCache powrotu 304 Not Modified jeśli ActionResult nie zmieniła
- 24. Co oznacza stan odpowiedzi HTTP "200 Filtered"?
- 25. PHP Force Pobierz Causing 0 Byte Files
- 26. force scrollbar w Safari
- 27. ostrzeżenie force w java
- 28. Wywołanie metody Force base
- 29. Aktualizacja wiązania Force Silverlight
- 30. Force Pobierz plik CSV
mam wygasa ustawiony na 2 tygodnie, ale dev narzędzi Google Chrome nadal pokazuje 304 wnioski zamiast 200 kodów. Czy podaje fałszywe informacje? – ustun