Почему браузер отправляет два запроса на одну и ту же страницу, когда она обновляется?
Я создал простое приложение Node.js, которое регистрирует текущую консольrequest.url
за каждый входящий HTTP-запрос. Когда я обновляю страницу в Chrome на Mac OS X ML, я получаю два запроса на одну и ту же страницу.Почему?
По сравнению, когда я используюлокон и запросить ту же страницу, я получаю только один запрос. То же самое, если я обновлю страницу в Safari.
Зачем Chrome отправлять два запроса на одну и ту же страницу?
Редактировать: Я посмотрел вrequest.headers
и нашел одно отличие:accept
заголовок.
Вот заголовок для первого запроса. Обратите внимание, этопринимает список конкретных мимов.
{ 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=' }
Вот второй запрос. На этот раз этопринимает все.
{ 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=' }
Изменить 2: Я проверил и вижу, что оба запросаGET
Запросы.