#objective-c #http #macos #denial-of-service
#objective-c #http #macos #отказ в обслуживании
Вопрос:
Я хочу добавить в свои приложения функцию, которая анализирует HTML-страницу и переходит к каждой <a href="http:\foo" >
по очереди.
Я собираю заголовок, описание и ключевые слова с каждой загружаемой страницы и больше ничего не загружаю и не собираюсь допускать перехода глубиной более одного.
Это само по себе является тривиальным применением NSURLDownload
и NSXMLDocument
, но что я хочу знать…
Существует ли приемлемая частота запросов, при которой мое приложение не будет выглядеть как событие DOS, как если бы я просто отправлял дочерние запросы со скоростью, с которой я их анализирую с родительской страницы, тогда я подозреваю, что это очень быстро будет обнаружено как таковое.
Ответ №1:
Вы должны соответствовать протоколу исключения роботов. RFC 2616 определяет ограничение в 2 одновременных запроса на имя хоста, однако современные браузеры обходят это, и эта часть спецификации, вероятно, будет пересмотрена в соответствии. Вполне вероятно, что NSURLConnection
в любом случае будет использоваться ограничение соединения внутри, но вы должны это проверить.