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