Dlaczego przeglądarka wysyła dwa żądania tej samej strony, gdy jest odświeżana?
Stworzyłem prostą aplikację Node.js, która loguje się na konsolirequest.url
dla każdego przychodzącego żądania HTTP. Kiedy odświeżam stronę w Chrome na Mac OS X ML, otrzymuję dwa żądania tej samej strony.Czemu?
W porównaniu, kiedy używamkędzior i poproś o tę samą stronę, otrzymuję tylko jedno żądanie. To samo jedno żądanie, jeśli odświeżę stronę w Safari.
Dlaczego Chrome wysyłał dwa żądania na tę samą stronę?
Edytować: Zajrzałem dorequest.headers
i znalazłem jedną różnicę:accept
nagłówek.
Oto nagłówek pierwszego żądania. Zauważ toakceptuje lista konkretnych mimów.
{ host: 'www.pulsr.local:1337',
connection: 'keep-alive',
'cache-control': 'max-age=0',
accept: 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
'accept-encoding': 'gzip,deflate,sdch',
'accept-language': 'en-US,en;q=0.8',
'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
cookie: 'PULSRSESSID=BBtDAWMVgbQZ8lXA6wv4Wg/vwwI=; PULSRSESSID=dsGxP494UxJueit2/u79AFiM5fw=' }
Oto druga prośba. Tym razem toakceptuje wszystko.
{ host: 'www.pulsr.local:1337',
connection: 'keep-alive',
'user-agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.17 (KHTML, like Gecko) Chrome/24.0.1312.57 Safari/537.17',
accept: '*/*',
'accept-encoding': 'gzip,deflate,sdch',
'accept-language': 'en-US,en;q=0.8',
'accept-charset': 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
cookie: 'PULSRSESSID=VGWRSG9zIokHjA2vLa1b+/fUqu8=; PULSRSESSID=dsGxP494UxJueit2/u79AFiM5fw=' }
Edytuj 2: Sprawdziłem i zobaczyłem, że oba żądania sąGET
upraszanie.