AJAX vs WebSocket — что лучше для загрузки простого текста с сервера без перезагрузки страницы?

В принципе WebSocket поддерживается везде caniuse.com/#feat=websockets
  • Вопрос задан
  • 17093 просмотра
Пригласить эксперта
Ответы на вопрос 6
Если Вам не нужно методично долбить сервер (например раз в три секунды) запросами на получение новых данных, то лучше всего использовать старый и ламповый AJAX, с которым не будет проблем по поддержке.
Ответ написан
Комментировать
MrBoriska
@MrBoriska
Пэхэпист самоучка, Питоност по Лутцу. C++
Вебсокеты выбирают в двух случаях:
1. Когда нужна обратная связь с сервером(тоесть когда сервер может сам вам послать сообщение, а не только отвечать на входящие)
2. Когда важно иметь маленькие задержки между пересылками данных.

Между тем, websocket более сложная для разработки технология, чем простейший AJAX.

Поэтому, если вам не важны вышеперечисленные пункты, выбирайте AJAX.

socket.io это технология, которая реализует уровень абстракции над всеми этими AJAX, WS, Comet и прочими. Она позволяет наладить аналог полнодуплексной связи с сервером, и в зависимости от возможностей клиента использует либо WS, либо http-binding и т.п.
Ответ написан
Комментировать
@ambilight1
Если простым языком то:
ajax - быстрая разработка, простое поддержание.
socket - сложнее чем ajax, за-то скорость отклика выше. Достигается за счет постоянного подключения. Задержка не больше 10ms, после подключения. (У меня 2-3мс)

Что выбрать:
если проект не большой, то не стоит заморачиваться, поднимать node.js (если уже не стоит)
если же проект серьезный, то почему бы не попробовать socket.io, к тому же если он уже где-то еще используется. Правда если настроить не правильно, то сервак ляжет в течении дня. Так что не забывает про nginx.

В данном случаи я бы выбрал ajax.
Если правильно настроить кэш, nginx поставить на отдачу, то так даже лучше будет.
Нагрузка в разы меньше будет.

Помню тут кто-то хотел навигацию на socket.io делать)
Вопрос зачем, я так и не понял.

На socket не плохо корзину запилить, пуши, всякие мессенджеры.
В общем там где нужен быстрый отклик.
Вот не против обсудить корзину, пишите что думаете по этому поводу)
Хотя опять же, если магазин мелки, то особо и не надо.
Даже если и большой, то просто балансер повесить, так что я думаю что это утопия.
Хотя можно и попробовать
Ответ написан
В вашем случае используйте ajax. Задача тревиальна. Можете long polling прикрутить что бы не долбить сервер)
Ответ написан
Комментировать
@antonsr98
Системный Администратор
посмотрите socket.io
Ответ написан
ThunderCat
@ThunderCat Куратор тега JavaScript
{PHP, MySql, HTML, JS, CSS} developer
Определитесь с задачей:
Тащить текст с сервера по запросу клиента (по событию в браузере)- аякс;
Кидать клиенту от сервера текст по мере поступления его на сервер(по событию на сервере) - сокеты.

А вопрос поддержки браузерами думаю уже не актуален, почти все браузеры их понимают, ради 1-2 % сидящих под linx нет смысла что-либо придумывать, всем полюбому не угодишь.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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