Нормально ли создавать экземпляр XMLHttpRequest при каждом запроса ajax?
Передо мной встал вопрос:
Нормально ли создавать экземпляр XMLHttpRequest при каждом запроса ajax? Если да, то почему? Если нет, то тоже почему?
К примеру, на сайте каждые 5 секунд отправляется запрос в фоновом режиме, для проверки уведомления, новых сообщений и т.д... Так вот, как будет сделать правильно? Создавать экземпляр для каждого запроса или же создать один?
Ещё пример, отправка сообщение в чат. Правильнее будет создать один экземпляр для проверки новых сообщений, а другой для отправки? Или это не играет роли? Если создавать постоянно новый экземпляр, то браузер не ляжет до прихода сборщика?
Думаю под каждый запрос нужен свой экземпляр. Так делают везде. Не разу не видел чтоб кто то так экономил эти экземпляры. Если вы найдёте хоть один пример где так делают люди с опытом разработки будет очень интересно посмотреть на этот код.
Просто я почему задался этим вопросом. Сайт на history API построен и с момента захода на него он больше не будет полностью перезагружаться. Вот я и подумал, нормальным ли будет подход с созданием новых экземпляров!
Если раз в какое то небольшое время выполнять на протяжении суток и более могут сказаться проблемы. Но не факт что из за экземпляров аякса. Я сталкивался с проблемами если перестраивать дом часто и на протяжении большого времени.
Вообще для уведомлений лучше использовать вебсокеты чем раз в ХХ секунд запрашивать инфу с сервера.
Для работы с вебсокетами могу предложить обратить внимание на мой опенсорс проект CppComet это комет сервер написанный на C++ в котором уже из коробки есть всё необходимое для реализации уведомлений и чатов и даже есть функции для аудио/видео чатов и встроена возможность кластеризации на несколько серверов.
S Zh, порой дольше переделывать чем сразу нормально сделать. Тем более что порог входа для работы с веб сокетами очень небольшой. Уже нет необходимосити вникать в работу протокола и прочее. Достаточно просто вовремя вызвать апи вебсокет сервера.
Виктор, Передо мной сейчас больше стоят вопросы правильного выбора шаблонов проектирования и т.д. и многие другие задачи. Хочется с ними в первую очередь разобраться.
P.S. Это нормально что при каждом ответе нужно капчу проходить?