Влияние TCP RST на время загрузки страницы для тега src скрипта Javascript - PullRequest
0 голосов
/ 03 июля 2011

Я хочу отказаться от (отключить / не отправлять ответы HTTP) для некоторого старого кода HTML & JS, который мои клиенты установили на своих страницах. Не все клиенты могут обновлять все свои веб-страницы до того момента, когда мы устарели, но у меня есть ОК, чтобы устареть.

Простой пример того, как может выглядеть код:

Домен клиента, customer.com , имеет HTML & JS на своих страницах:

<script src="http://mycompany.com/?customer=customer.com&..."></script>

Мы рассматриваем настройку наших коммутаторов для отправки ответа TCP RST на входящие устаревшие запросы на http://mycompany.com/..., поэтому мой вопрос, есть ли какие-либо побочные эффекты (например, загрузка страницы в тупик) с приближением конфигурирование наших коммутаторов для ответа TCP RST на входящее TCP-соединение? Очевидно, я хочу наименьшего (то есть нет) воздействия на сайт клиента.

1 Ответ

2 голосов
/ 08 июля 2011

Я должен думать, что RST - довольно жесткий механизм, чтобы не отвечать ни на один запрос.Этот запрос может быть одним из ста ресурсов, необходимых для отображения одной из ваших клиентских страниц, и если вы разорвете соединение, это соединение не может быть повторно использовано для запроса дополнительных ресурсов.(См. 19.7.1 в HTTP1.1 RFC : " Постоянные соединения являются сообщениями по умолчанию для сообщений HTTP / 1.1; мы вводим новое ключевое слово (Connection: close) для объявления непостоянства.")

Каждое новое соединение потребует нового трехстороннего рукопожатия для установки, что может добавить полсекунды на неудавшийся запрос к одному издва соединения, которые клиент использует для получения ресурсов с ваших серверов.Какова средняя задержка между вашими серверами и вашими клиентами?Умножьте это на три, чтобы получить время для нового трехстороннего рукопожатия.

Если вы отклоните запросы на уровне протокола HTTP (301? 302? 404? 410?) вы можете вернуть ошибку в существующем HTTP-соединении и сохранить три приема-передачи для создания нового соединения (что может также относиться к ресурсу, который вам больше не нужен).

Plus,410 должен указывать, что браузер не должен снова запрашивать ресурс (но я не знаю, какие браузеры последуют этому совету). * * * * * Ресурс с RST, вероятно, будет повторяться при каждом запросе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...