Я думаю, вы неправильно поняли ajax и websockets.
Все интернет-программы работают с использованием особого вида соединения, называемого сокетом (сокеты также могут использоваться для других целей, но это сейчас не важно). Например, при доступе к веб-странице в Chrome Chrome создает сокет и использует его для подключения к веб-серверу (есть другие шаги, но это простое объяснение).
Ajax - это метод обновления содержимого на странице без перезагрузки этой страницы (или перехода на новую страницу), это полезно для динамического содержимого. Ajax работает через объект XMLHttpRequest в DOM Api. Когда вы делаете Ajax-запрос, вы просите веб-браузер инициировать новое соединение от вашего имени (веб-браузер может затем создать новый сокет, если сочтет нужным).
Websockets - это альтернативный API, который позволяет вам лучше контролировать сокет, который создает веб-браузер. По сути, это альтернативная технология, которая выполняет аналогичные цели. Ajax отправляет только один HTTP-запрос (обычно отправка или получение) и получает соответствующий ответ, поэтому преимущество веб-сокетов в 2 раза:
- Websockets позволяет передавать не HTTP (например, потоковое VoIP).
- Веб-сокеты позволяют передавать в двух направлениях (т. Е. Серверы отправляют запросы клиенту).
Это не значит, что Ajax по-прежнему бесполезен, но Websockets позволяет вам делать то, что вы не можете с Ajax.