nginx - rozne kody odp - ten sam zasob |
nginx - rozne kody odp - ten sam zasob |
6.11.2020, 17:48:24
Post
#1
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 26.05.2007 Ostrzeżenie: (0%) |
Witam
Mam problem z nagłówkami odpowiedzi serwera www. Jako serwera lokalnego uzywam nginx'a nginx-1.19.4 . Nie wiem dlaczego serwer w odpowiedzi na zadanie tego samego zasobu czyli [ http://localhost/built75/87450ff_home.css ] raz odpowiada kodem 200 OK a raz 304 Not Modified. Przypadek z dnia 3.11: Najpierw wyczyszcilem cache przegladarki i ciastka dla localhost. Wtedy wyslalem 2 żądania tego samego zasobu [ 87450ff_home.css ] jedno po drugim pierwsze nazwijmy 'A', a drugie 'B'. Naglowki odpowiedzi z kodem 200 i 304: === Odp na pierwsze żądanie (A) z dnia 3.11 --- GET: HTTP/2.0 200 OK server: nginx date: Tue, 03 Nov 2020 22:29:46 GMT content-type: text/css content-length: 296394 last-modified: Tue, 03 Nov 2020 22:28:38 GMT etag: "5fa1d996-485ca" accept-ranges: bytes, bytes X-Firefox-Spdy: h2 Odp na drugie żądanie (B) z dnia 3.11 --- GET: HTTP/2.0 304 Not Modified server: nginx date: Tue, 03 Nov 2020 22:31:02 GMT last-modified: Tue, 03 Nov 2020 22:28:38 GMT etag: "5fa1d996-485ca" X-Firefox-Spdy: h2 Pytanie na jakiej podstawie serwer w odp na żądanie (B) stwierdzil ze zasob nie zostal zmodyfikowany (304) skoro przegladarka nie wyslala zapytania warunkowego z naglowkiem If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match by na jego podstawie serwer okreslil aktualnosc zasobu? Tych naglowkow szukalem w zakladce siec w narzedziach webdewelopera w firefox'ie i nie znalazlem. Dla porownania ponizej zamieszczam analogiczna 'rozmowe' serwera z przegladarka z innego dnia, gdy sa zwracane inne kody. Przypadek z dnia 1.11: Najpierw wyczyszcilem cache przegladarki i ciastka dla localhost. Wtedy wyslalem 2 żądania tego samego zasobu [ 87450ff_home.css ] jedno po drugim ('A', potem 'B', identycznie jak 3.11). Naglowki odpowiedzi z kodem 200 (2x): === Odp na pierwsze żądanie (A) z dnia 1.11 --- GET: HTTP/2.0 200 OK server: nginx date: Sun, 01 Nov 2020 22:58:01 GMT content-type: text/css content-length: 296394 last-modified: Tue, 27 Oct 2020 21:11:04 GMT etag: "5f988ce8-485ca" accept-ranges: bytes, bytes X-Firefox-Spdy: h2 Odp na drugie żądanie (B) z dnia 1.11 --- GET: HTTP/2.0 200 OK server: nginx date: Sun, 01 Nov 2020 22:58:01 GMT content-type: text/css content-length: 296394 last-modified: Tue, 27 Oct 2020 21:11:04 GMT etag: "5f988ce8-485ca" X-Firefox-Spdy: h2 accept-ranges: bytes, bytes Tutaj w odp na żądanie (B) widac ze serwer stwierdzil ze zasob w cache przegladarki jest nieaktualny i ponownie przeslal go w calosci do przegladarki, w przeciwienstwie do sytuacji z 3.11 gdzie zasobu nie przeslal (304 not modified) i nakazal przegladarce pobranie tego samego zasobu z cache. Ponownie pytanie na jakiej podstawie serwer podjal taka decyzje? Ponownie brak zapytania warunkowego z naglowkiem If-Modified-Since, If-Unmodified-Since, If-Match, If-None-Match. Ponownie tych naglowkow szukalem w zakladce siec w narzedziach webdewelopera w firefox'ie i nie znalazlem. Z gory dzieki za wszelka pomoc. Pozdrawiam |
|
|
9.11.2020, 20:53:20
Post
#2
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Szukasz tego jako ciekawostki czy stwarza Ci to problem?
Sprawdziłbym na innej przeglądarce a najlepiej jakiś klient typu curl/telnet/nc bo przeglądarki potrafią w konia robić. |
|
|
12.11.2020, 20:41:28
Post
#3
|
|
Grupa: Zarejestrowani Postów: 15 Pomógł: 1 Dołączył: 26.05.2007 Ostrzeżenie: (0%) |
bardziej jako ciekawostki..
Cytat najlepiej jakiś klient typu curl/telnet/nc do pobrania naglowkow odpowiedzi i żądania uzylem wtyczki ff - [ http header live ] czy tez taki program masz na mysli piszac "najlepiej jakiś klient ..." ? o telnecie nie wiele wiem, czy tak mialoby wygladac polecenie: [ telnet http://localhost/built75/87450ff_home.css 80 ] ? i jakiej odpowiedzi sie spodziewac: naglowki odpowiedzi + tresc dokumentu czy cos innego? Pozdrawiam |
|
|
Wersja Lo-Fi | Aktualny czas: 27.09.2024 - 00:37 |