HTTP в качестве протокола является синхронным.Вы отправляете запрос, вы ждете ответа.В отличие от других протоколов, где вы можете отправлять данные в быстрой последовательности по тому же соединению, не дожидаясь ответа на ваши предыдущие данные.Обратите внимание, что HTTP / 2 на самом деле больше в этом духе.
Сказав это, вы можете отправлять несколько независимых HTTP-запросов параллельно через отдельные соединения.Не существует «глобальной» блокировки для HTTP-запросов, это всего лишь один HTTP-запрос / ответ на открытое соединение. (И снова, HTTP / 2 исправляет это ограничение).
Теперь изС точки зрения приложения Javascript HTTP-запрос является асинхронным.Это означает, что Javascript отправит HTTP-запрос на сервер, а его ответ придет через некоторое время. Тем временем Javascript может продолжать работать над другими вещами, а когда приходит HTTP-ответ, он продолжитработая над этим.Это асинхронное выполнение Javascript. Javascript может принять решение дождаться ответа HTTP, заблокировать все остальное в то же время;но это довольно плохо, поскольку HTTP-ответ может занять относительную вечность по сравнению со всеми другими вещами, которые вы могли бы сделать за это время (например, поддержание отзывчивости пользовательского интерфейса).