Модуль 1. AJAX/Fetch API
Механизмы взаимодействия с сервером
Что такое AJAX?
Объект XmlHttpRequest
Асинхронные запросы
Что такое Fetch API?
Получение данных с сервера
Лабораторная работа: GET-запросы к серверу и получение текстовых данных
Модуль 2. JavaScript и HTTP
Методы передачи данных на сервер
Управление кэшированием ответа
Метод HEAD
Передача простых данных методом POST
Получение и разбор комплексных данных
Лабораторная работа: Использование методов POST и HEAD
Модуль 3. JSON
Недостатки простых текстовых форматов
Сериализация сложных данных
Что такое JSON
Разбор JSON пакета в браузере
Разбор JSON пакета на сервере (PHP)
Основы работы с JWT
Лабораторная работа: Авторизация пользователя на сайте
Модуль 4. Организация запросов к REST API
CRUD-операции
Соответствия между CRUD и HTTP
Конечные точки REST
Запросы с сортировкой и фильтровкой данных
Лабораторная работа: Организация запросов к REST-сервису
Модуль 5. Организация запросов к GraphQL API
Что такое GraphQL?
Типы запросов
Структура запросов на выборку и изменение
Введение в организацию GraphQL-сервера
Лабораторная работа: Организация добавления, удаления и поиска по книгам
Модуль 6. Безопасность и эффективность AJAX приложений
Вопросы безопасности AJAX приложений
Проблемы юзабилити AJAX приложений
Производительность AJAX приложений
Лабораторные работы:
Загрузка файлов на сервер
Получение и разбор XML-файлов
Использование Axios.js