Зачем использовать ajax, если есть вебсокеты?

Если отбросить надуманную проблему поддержки websocket'ов (поддержка XMLHttpRequest: 92.52%, WebSockets: 92.13%, кроме того есть socket io), то зачем использовать аякс? Ведь можно получать данные через сокеты. Какие минусы у сокетов, по сранению с аяксом?
  • Вопрос задан
  • 2306 просмотров
Решения вопроса 4
l3ftoverz
@l3ftoverz Куратор тега JavaScript
Люблю Финский металкор и ищу работу.
WebSocket — протокол связи поверх TCP-соединения, предназначенный для обмена сообщениями между браузером и веб-сервером в режиме реального времени.


В то время как Ajax, это обычный request -> response, без перезагрузки страницы. (Если просто)
Кароче, это совершенно разные вещи, для разных задач.
Ответ написан
Разные технологии под разные задачи. Сравнивать некорректно. Вы же не будете делать отдельный вебсокет под простую отправку форму ос или аяксом долбить сервак чтобы получить новые сообщения в чатике?
Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
Ну вот смотри. Вот у тебя есть обычный хостинг с пхп, раз так, то о каких вэбсокетах может идти речь, если хост может принять http запрос и отдать ответ? Другое дело, когда у тебя есть возможность на хосте постоянно держать соединение, тогда у тебя есть выбор. Если данные постоянно обновляются, то почему бы не сделать это на сокетах, а если нет, то и на фиг надо заморачиваться, сделал fetch и все.
Ответ написан
lightalex
@lightalex
Ajax - запрос-ответ. Можно делать несколько параллельных запросов, но гарантированно на каждый запрос придет соответствующий ему ответ.
WS - это постоянный поток данных между клиентом-сервером. Если нужно сделать запрос к серверу, сложно идентифицировать соответствующий ответ. Нужно дополнительно писать контроллер.
С помощью WS лучше делать какие-то односторонние вещи, не требующие ответа, с учетом того что WS гарантирует последовательность и целостность данных. Например сервер может понимать что у пользователя все еще открыта вкладка сайта. Или оповещения можно толкать.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы