#jquery #ajax
#jquery #ajax
Вопрос:
Итак, у меня есть страница с несколькими типами связанных данных, которые необходимо извлечь.
Я могу выполнить 3 AJAX-вызова и разделить данные на части с помощью jQuery (3 запроса) или я могу поместить дополнительные AJAX-вызовы в цикл в 3 местах (150 запросов).
В обеих ситуациях извлекается одинаковый объем данных.
Это сообщения AJAX, но это можно сделать с помощью GETs в других местах.
На простом уровне, один способ лучше другого? Зависит ли это? Действительно ли это имеет значение?
Ответ №1:
Для повышения производительности вы должны делать как можно меньше запросов.
Однако, если для извлечения части запроса серверу потребуется больше времени, вам следует рассмотреть возможность переноса этих частей в отдельный запрос, чтобы остальной части запроса не нужно было его ждать.
(Очевидно, это поможет только в том случае, если вам не нужны эти части сразу)
Комментарии:
1. почему это? Как большее количество небольших обращений замедлит работу сервера?
2. Каждый запрос имеет служебные данные (TCP-соединение, HTTP-заголовки и т.д.). Именно поэтому лучше объединить CSS и JS файлы в как можно меньшее количество файлов.
3. @KevinDeus Прочитайте эту (очень короткую) вики-страницу о RTT
Ответ №2:
Что ж, если вы хотите, чтобы на вашем сервере было меньше обращений, определенно используйте тот, на котором меньше обращений к нему.
Комментарии:
1. Имеет ли значение меньшее количество обращений, если все они представляют собой небольшие запросы?
2. даже если это небольшие запросы. 3 < 150 во всех смыслах этого слова
3. Да, это, безусловно, имеет значение. Каждый запрос сопряжен с накладными расходами.
4. Особенно для небольших запросов : HTTP имеет много накладных расходов: заголовки HTTP. Вы захотите отправлять эти заголовки как можно меньше раз.
5. @KevinDeus, заголовки есть заголовки, какими бы маленькими они ни были, вы все равно хотите, чтобы их было меньше