Xpoint
   [напомнить пароль]

Последовательные запросы страниц?

Метки: [без меток]
2006-05-12 02:17:49 [обр] Иван FXS[досье]

Прошу ликбез по работе IE!

Предположим, в IE открыта страница, на которой очень много урлов, ведущих на "внешние" страницы.
Предположим, некто быстро кликает по этим урлам.

После каждого нового клика браузер (IE) "забывает" о предыдущем запросе, но "в эфир" то он уже ушел ...

Вопрос №1: всегда ли эти "забытые" запросы доходят до серверов? (То, что доходят - я знаю!)

Вопрос №2: где "погибают" отдаваемые серверами (запрошенные) страницы? Конкретно, достигают ли они компьютера, на котором работает браузер?

спустя 24 минуты [обр] Владимир Палант(4/4445)[досье]

Почти написал ответ, когда понял, что вопрос не настолько прост, как кажется. Когда браузер "останавливает" запрос, он на самом деле обрывает TCP-соединение. Но при этом данные из буфера TCP все еще должны уйти, только потом отправляется FIN-пакет, который сервер должен подтвердить. А это значит, что если браузер успел хотя бы запихнуть запрос в TCP-буфер, то сервер его получит. И даже успеет отослать начало ответа до того, как получит FIN-пакет. И там всё аналогично — начало ответа клиент получит и даже подтвердит (он не может удалить соединение, пока не получит от сервера подтверждение FIN-пакета). То есть в принципе браузер эти данные еще получит — но проигнорирует.

Другое дело, что пользователь может "остановить" запрос до того, как тот попадет в TCP-буфер — хотя бы на стадии разрешения DNS-имени сервера, когда никакого TCP-соединения еще вообще нет. Ну и есть еще такая возможность — браузер может очистить TCP-буфер, прежде чем разорвать соединение. В принципе такое возможно (хотя и редко встречается), но делает ли так какой-нибудь браузер, я не знаю.

Powered by POEM™ Engine Copyright © 2002-2005