Я ищу советы о том, как заставить браузер как можно быстрее начать вызов AJAX при обработке веб-страницы, в идеале до полной загрузки страницы.
Вот моя приблизительная мотивация: у меня есть веб-страница, которая загружается, скажем, за 5 секунд. Он вызывает веб-сервис, который загружается, скажем, за 10 секунд. Если загрузка страницы и вызов веб-службы происходят последовательно, пользователю придется подождать 15 секунд, чтобы увидеть всю информацию. Однако, если я смогу начать вызов веб-службы до завершения загрузки 5-секундной страницы, то, по крайней мере, некоторая часть работы может выполняться параллельно. В идеале я бы хотел, чтобы как можно больше работы выполнялось параллельно.
Моя первоначальная теория заключалась в том, что я должен поместить вызывающий AJAX javascript как можно выше в исходный HTML-код веб-страницы (помня о том, чтобы поместить его после включения jquery.js, потому что я делаю вызов с использованием JQuery AJAX ). Я также помнил, что не нужно помещать вызов AJAX в обработчик событий jquery ready . (Я упоминаю об этом, потому что готовые события популярны в большинстве примеров кода jquery.)
Однако вызов AJAX, похоже, все еще не запускается, как я надеюсь (по крайней мере, если судить по функции "Хронология" в Google Chrome), поэтому мне интересно, какие еще соображения применимы.
Одна вещь, которая может быть потенциально вредной, заключается в том, что вызов AJAX возвращается к тому же веб-серверу, который обслуживает исходную веб-страницу, поэтому я могу рискнуть установить ограничение браузера на число HTTP-подключений к этому. машина? (HTML-страница загружает несколько изображений, CSS-файлов и т. Д.)