Ответы пользователя по тегу Веб-серверы
  • Какие методы отправки http запросов сейчас наиболее современные, актуальные?

    KulakovAngel
    @KulakovAngel
    Full Stack Developer (Node.JS)
    Если Вы находитесь на стадии обучения основам JS/front-end, вначале изучите XMLHttpRequest и технологию HTTP (основы). На основе него создана промис-обертка (гораздо удобнее в реальном использовании) - Fetch. Но и это еще не конец.

    В реальной разработке часто используют готовые решения, упрощающие решение. Например, для разработки клиента часто используют React, Vue, Angular и др.. Для управления состоянием приложения - Redux, MobX и др.. Так вот, хорошая библиотека для выполнения запросов - это Axios. Чем она лучше Fetch? Во-первых, самостоятельно парсит тело ответа (например, в/из JSON), отправляет необходимые заголовки. Сравните:
    fetch('https://jsonplaceholder.typicode.com/users')
        .then(res => res.json())
        .then(users => dispatch(addUsers(users)));
    
    axios('https://jsonplaceholder.typicode.com/users')
        .then(users => dispatch(addUsers(users)));

    Также axios добавляет много полезностей - заголовки ответа вместе с телом в одном объекте, выброс исключения при ошибочных кодах состояния ответа сервера, кастомизация, несколько экземпляров и прочее, хотя, скорее всего, это все Вы изучите и поймете позже.

    Стоит понимать разницу между AJAX, XMLHttpRequest, Fetch, Axios.
    • AJAX - технология опроса сервера без перезагрузки (противовес ей - отправка данных кнопкой submit или ссылкой "a href="""). Чаще всего сегодня данными сервер и клиент обменивается через JSON
    • jQuery.ajax() - метод библиотеки jQuery, обертка над XMLHttpRequest. Т.е. библиотека.
    • XMLHttpRequest - объект браузера (BOM), позволяющий отправлять запросы к серверу, т.е. реализация упомянутой в первом пункте технологии AJAX
    • Fetch - более современный метод, использующий промисы. Более удобен, но под капотом используется XMLHttpRequest, естественно.
    • Axios - одна из библиотек (т.е. ее нужно подключать, как, например, тот же jQuery), наверное, самая распространенная, еще более упрощающая реальную разработку.


    Изучайте архитектуру на React (или др. фрэймворке), и увидите насколько проще использовать axios.
    Ответ написан
    2 комментария