Зачем закрывать тело HTTP-ответа в Go? Тело HTTP-ответа представляет собой поток данных (io.ReadCloser) Вызов Close освобождает сетевые ресурсы и дескрипторы Если не закрыть тело, возможны утечки памяти и зависшие…
промежуточный слой в составе HTTP-конвейера обработки запроса запускается до контроллера может обрабатывать, изменять и фильтровать запросы и ответы подходит для логирования, аутентификации, валидации и других задач…
Назначение и разновидности заголовков в REST-запросах HTTP-заголовки служат для передачи метаданных между клиентом и сервером С их помощью задаются формат данных и параметры авторизации: Content-Type, Accept,…
ограничение времени ожидания ответа от сервера предотвращение зависания клиента при длительном выполнении запроса защита от сетевых задержек и сбоев повышение отзывчивости приложения управление ресурсами и…
Из каких компонентов состоит HTTP-запрос? сетевой протокол HTTP/HTTPS Request Line: метод запроса (GET, POST и другие), URL и версия протокола Headers: метаданные запроса, включая Content-Type, Authorization и другие…
ответ сервера на запрос, отправленный клиентом сообщение открывается строкой состояния, где указаны версия протокола, код статуса и его описание код статуса (например, 200 OK или 404 Not Found) показывает, чем…
Работа с HTTP в Go resp.Body представляет собой поток тела ответа Необходимо обязательно вызвать defer resp.Body.Close() В противном случае возникает утечка ресурсов, включая TCP-соединения TCP-соединения не…
Как в Go выполнять HTTP-запросы асинхронно? тема: конкурентность, net/http, goroutines параллельный запуск запросов выполняется через goroutines каждый HTTP-запрос помещается в отдельную goroutine (go func()) для…
Как в Go реализовать graceful shutdown с defer, контекстом и обработкой ошибок в группах горутин? управлять завершением приложения через context.Context (cancel/cancellation) применять defer для освобождения ресурсов,…
Как из сервиса вернуть доменную ошибку и отдать корректный HTTP-код? Контекст: обработка ошибок в backend-сервисах и API Для представления доменных ошибок применяю исключения (exceptions) либо error objects В…
Варианты взаимодействия с backend HTTP-клиенты: fetch API — встроенный инструмент на основе Promise Библиотеки: Axios — готовое решение для удобной настройки запросов и интерсепторов WebSocket — для двухсторонней…