Байт обслуживает (другие имена: RFC 7233 говорит, что клиент выполняет запросы диапазона, когда он выполняет частичный запрос содержимого; клиенты делают запросы диапазона ; обслуживание диапазона байтов ; страница по запросу ) - это процесс отправки только части Сообщение HTTP /1.1 от сервера клиенту. Обслуживание байтов начинается, когда HTTP-сервер объявляет о своей готовности обслуживать частичные запросы, используя заголовок ответа Accept-Ranges. Затем клиент запрашивает определенную часть файла с сервера, используя заголовок запроса Range. Если диапазон допустим, сервер отправляет его клиенту с кодом состояния 206 Partial Content и заголовком Content-Range, в котором перечисляется отправленный диапазон. Если диапазон недействителен, сервер отвечает кодом состояния 416 Requested Range Not Satisfiable.
Клиенты, которые запрашивают байтовое обслуживание, могут сделать это в случаях, когда большой файл был доставлен только частично и ограниченная часть файла необходима в определенном диапазоне. Таким образом, байтовое обслуживание - это метод. В стандарте HTTP / 1.0 клиенты могли запрашивать только весь документ. Разрешив обслуживание байтов, клиенты могут запросить любую часть ресурса. Одним из преимуществ этой возможности является то, что когда запрашивается большой медиафайл и этот медиафайл правильно отформатирован, клиент может запросить только те части файла, которые, как известно, представляют интерес. Это важно для обслуживания видео файлов; если на сервере отсутствует эта функция, видео, размещенные на этом сервере, могут не воспроизводиться до тех пор, пока клиент не загрузит весь файл, а поиск внутри файла может быть отключен. Точно так же файлы PDF могут быть оптимизированы для обслуживания байтов, чтобы файлы размером в несколько гигабайт можно было мгновенно просматривать в браузере, запрашивая только данные, необходимые для отображения текущей страницы.
Байт-обслуживание также может использоваться многосетевыми клиентами для одновременной загрузки ресурса через несколько сетевых интерфейсов. Для достижения этого типа агрегирования каналов уровня приложения устанавливается несколько сеансов HTTP, и логические сегменты файлов совместно загружаются с сервера и повторно собираются на клиенте. Это позволяет полностью использовать несколько сквозных путей и, следовательно, приводит к увеличению скорости загрузки.
Использование Chunked Transfer-Encoding не является побайтовым обслуживанием, а представляет собой метод, при котором сервер HTTP / 1.1 отправляет весь ресурс, но несколькими отдельными частями (или фрагменты) данных. Он часто используется, когда сервер не знает точно, сколько данных будет в общем ответе, что позволяет серверу сразу же начать отправку данных клиенту без необходимости буферизовать ответ и определять точную длину, прежде чем он начнет его отправлять. клиенту. Это улучшает задержку и снижает требования к памяти, сохраняя при этом возможность повторно использовать соединение после завершения ответа. Обслуживание байтов и разбиение на части совместимы и могут использоваться вместе или без друг друга.