Практическая идеальная длина таймаута для неактивных HTTP-соединений - PullRequest
1 голос
/ 19 марта 2011

Во встроенном устройстве, сколько практического времени нужно, чтобы неиспользуемые HTTP-соединения оставались открытыми?

Я знаю, что в давние времена интернет-чаты в сети в 1999 году иногда просто удерживали соединениеоткрывать и отправлять ответы по мере их поступления. Время простоя и длительность сеанса HTTP-соединений должны были быть больше в те дни ...

Как насчет сегодняшнего дня с ajax и подобными?

ПРИЧИНА : Я пишу прозрачный прокси для встроенной системы с низким объемом памяти.Я ищу способы предотвращения DoS-атак.

Мое предположение: 3 минуты или 1 минута .Система имеет крайне ограниченную оперативную память, и это нормально, если она ломает редкие и непопулярные сайты.

Ответы [ 2 ]

2 голосов
/ 23 марта 2011

Как насчет того, чтобы пустые HTTP-соединения оставались открытыми, если не поступит другой запрос на связь?Если соединение открыто, и никто больше не пытается общаться, открытое соединение ничего не повредит.Если кто-то еще пытается связаться, отправьте FIN + ACK на первое соединение и откройте второе.Многие http-клиенты будут пытаться получить несколько файлов, используя одно и то же соединение, если это возможно, но при необходимости смогут восстановить соединение между файлами.

1 голос
/ 21 марта 2011

В старые времена (около 2000) время простоя составляло до 5 минут.В наши дни она составляет от 5 секунд до 50 секунд.Apache по умолчанию составляет 5 секунд.В некоторых специальных приложениях по умолчанию установлено значение 120 секунд.

Поэтому я предполагаю, что с AJAX больше не требуются длинные открытые соединения HTTP.

...