HTTP API и серверные основы
Контракты запросов, проверка данных, коды ошибок, пагинация, файлы, cookies, авторизация, права, платежи и фоновые очереди.
116 материаловСерверные приложения, базы данных, авторизация и интеграции.
Контракты запросов, проверка данных, коды ошибок, пагинация, файлы, cookies, авторизация, права, платежи и фоновые очереди.
116 материаловPython с Django и FastAPI, PHP с Composer и Laravel, Node.js, ASP.NET Core с EF Core, Java и Kotlin со Spring Boot и Ktor, Go
365 материаловPostgreSQL, MySQL, SQL Server, SQLite, Redis, SQL, индексы, планы, транзакции, миграции, ORM и конкурентное изменение данных.
247 материаловOpenAPI, документация, SDK, версии, квоты, идемпотентность, вебхуки, повторная доставка, подписи событий и кабинет разработчика.
26 материаловОткрытые API, RSS, парсинг, Scrapy, мониторинг изменений, очистка, объединение, CSV, Excel, JSON и обработка больших файлов.
14 материаловActivityPub, федерация, обмен публикациями и подписки между сервисами
Материалы готовятсяКак подготовить версионный индекс Meilisearch, дождаться задач и прочитать ответ поискового API.
Как ограничить поисковый API, сохранить ключи на сервере и наблюдать ошибки без записи полных запросов.
Разбираем запрос и ответ каталога: адрес, метод, заголовки, тело и границы учебной модели.
Выбираем GET, HEAD, POST, PUT и DELETE по смыслу операции на одном каталоге.
Согласуем 200, 201, 204, 400, 404, 409, 422 и 5xx с конкретным исходом операции.
Читаем Content-Type, Accept, Location, Allow, Cache-Control, Vary и ETag по их роли.
Различаем курс, его постоянный адрес, JSON, HTML и редактируемое представление.
Выбираем JSON или HTML через Accept, учитываем q=0, Vary и различие 406/415.
Определяем обязательные поля, типы JSON, различие null и пропуска, вход и совместимость ответа.
Разделяем адрес записи и параметры выборки, кодируем значения и объявляем ошибки query.
Проверяем тип и синтаксис входа, поля и диапазоны до изменения каталога.
Проектируем Problem Details: type, title, status, detail, instance и собственные ошибки полей.
Различаем повторяемый эффект и одинаковый ответ, безопасное чтение и повтор POST.
Проектируем прикладной Idempotency-Key: намерение, область, отпечаток, атомарность и срок результата.
Строим устойчивую пагинацию: полный порядок, непрозрачный курсор и ограниченный снимок.
Определяем последовательность фильтрации, полного порядка и пагинации без произвольных выражений.
Сохраняем представление с ETag и проверяем его через If-None-Match без тела в 304.
Защищаем PUT и DELETE сильным If-Match, различаем 428/412 и атомарно меняем версию.
Разделяем публичный кеш, варианты представления и персональный ответ без смешивания пользователей.
Определяем host-only cookie, Path, Secure, HttpOnly, SameSite и удаление сессионного идентификатора.
Разделяем cookie, серверную запись сессии, сроки, ротацию, отзыв и CSRF-токен.
Согласуем session cookie и Bearer как альтернативы, 401 challenge и безопасный отказ без HTML-редиректа.
Проверяем действие и область курса после установления личности, включая перенос между темами.
Различаем origin и site, preflight и фактический запрос, CORS и серверное разрешение.