serydzi
@serydzi
калейдоскоп из тысяч я

API xhr/fetch/rest/soap альтернативы друг другу?

xhr - старый нативный http'шный api и по сути xhr = ajax, как я понял?

fetch - нечто относительно новое, но ещё не до конца работающее местами. Альтернатива ajax?

а soap и rest как охарактеризовать?

xhr/fetch/rest/soap - это всё api, которые юзают http как транспорт. Они все альтернативы друг другу? Или все несколько сложнее?
  • Вопрос задан
  • 218 просмотров
Решения вопроса 2
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
У вас всё перемешано.
AJAX (Asynchronous Javascript and XML) - общий принцип фоновых запросов из браузера к серверу с обновлением информации без перезагрузки страницы.
XHR (XML HTTP Request) - способ выполнения фонового запроса в JavaSript.
Fetch - более новый способ выполнения фонового запроса в JavaSript.
SOAP (Simple Object Access Protocol) - протокол обмена информацией.
REST (Representational State Transfer) - общий принцип взаимодействия распределённых компонентов приложения.
Ответ написан
vabka
@vabka
Токсичный шарпист
ajax - концепция, что ты можешь загружать данные и обновлять разметку, вместо того чтобы загружать новую страницу.

xhr, а конкретнее XMLHTTPRequest - Штука, с помощью которой изначально это можно было провернуть

$.ajax из jQuery - обёртка над xhr для удобства использования.

fetch - новое API, которое должно заменять xhr. Прекрасно работает во всех актуальных браузерах, но не в ноде.


а soap и rest?

Это уже на стороне сервера.
SOAP никаким боком к ajax не относится, тк работает с XML.
Это вполне стандартизированный протокол - подробнее можешь почитать, если загуглишь.
Rest - набор рекомендаций, как следует делать API


Или вопрос некорректен?

Да, тк сравнивается тёплое с мягким - функции из Javascript, концепция, и серверные технологии.
Но вообще да - SOAP тоже работает поверх http.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Автор, намешано конечно у тебя в списке.. ой-ой. Но если интересуешся веб-протоколами - посмотри
еще на GraphQL https://graphql.org/ я думаю он очень интересен для современного разработчика.

Еще посмотри на QUIC для общего развития https://cloud.google.com/blog/products/gcp/introdu... там интересно.

REST - это вобщем-то не протокол а скорее философия или архитектурный подход к работе с http. У него - очень размытые границы в реализациях. И иногда сложно взять приложение и классифицировать что оно такое. Рест или не-рест. Рест использует коды ошибок из HTTP и поэтому существует только в слое http.
В теле REST сообщения может быть что угодно. XML, JSON или просто текст. Неспецифицировано короче. Наивные попытки внести в рест спецификации появились сравнительно недавно. Рест хорошо интегрируется с балансерами и реверс-прокси (nginx).

SOAP - это именно "протокол". Базируется на XML с жесткой схемой. Причем работающий почти на всех слоях сетей. Может на не только по HTTP но и по сырым сокетам бегать. Хотя в настоящее время - непопулярен. Типизирован. Имеет специальный файл спецификации (WSDL) который точно описывает все сигнатуры методов. Требует большой аккуратности в реализациях. И обычно никто не пишет SOAP клиент-сервер вручную а пользуются генераторами API. Часто используется в банках и крайне консервативных ведомствах.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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