Запрос диапазона добавляет к GET-запросу заголовок Range, например, bytes=0-1023. Сервер, поддерживающий диапазоны, отвечает кодом 206 Partial Content, предоставляя только эти байты и заголовок Content-Range, указывающий, к какой части целого они относятся. Серверы заявляют о поддержке с помощью Accept-Ranges: bytes; сервер, игнорирующий этот заголовок, просто возвращает весь ресурс с кодом 200.
Менеджеры загрузок возобновляют прерванную передачу, запрашивая байты=<получено>-; видеоплееры запрашивают диапазон вокруг позиции, которую ищет зритель; большие файлы могут загружаться параллельными блоками. Диапазон, который сервер не может удовлетворить — выходящий за пределы ресурса или имеющий некорректный формат — получает ошибку 416 Range Not Satisfiable.
Код 200 для запроса диапазона означает ошибку. Это допустимый ответ, то есть сервер не обрабатывает диапазоны; клиент должен обрабатывать оба типа запросов и не должен добавлять полное тело запроса к частичной загрузке, которую он считает возобновленной.
Запрос GET /storage/v1/objects/{key} принимает диапазон: bytes=start-end, в ответ приходит значение 206 с фрагментом, 416 для диапазона за пределами конца или некорректного диапазона, и 200 со всем объектом, если диапазон не указан.
Все термины · Приёмы тестирования · Все 39 mock REST API
Последнее обновление