Обслуживание байтов (другие названия: RFC 7233 говорит, что клиент делает запросы диапазона, когда он делает частичный запрос содержимого; клиенты делают запросы диапазона ; [1] [2] Обслуживание диапазона байтов ; страница по запросу [3] ) - это процесс отправки только часть сообщения HTTP /1.1 от сервера клиенту. Обслуживание байтов начинается, когда HTTP-сервер объявляет о своей готовности обслуживать частичные запросы, используя заголовок ответа Accept-Ranges . Затем клиент запрашивает определенную часть файла с сервера, используя заголовок запроса Range . Если диапазон допустим, сервер отправляет его клиенту с206 Код состояния частичного содержимого и заголовок Content-Range со списком отправленного диапазона. Если диапазон недействителен, сервер отвечает кодом состояния 416 Requested Range Not Satisfiable .
Клиенты, которые запрашивают побайтовое обслуживание, могут сделать это в тех случаях, когда большой файл был доставлен только частично и ограниченная часть файла необходима в определенном диапазоне. Таким образом, байтовое обслуживание - это метод оптимизации пропускной способности . [4] В стандарте HTTP / 1.0 клиенты могли запрашивать только весь документ. Разрешив обслуживание байтов, клиенты могут запросить любую часть ресурса. Одним из преимуществ этой возможности является то, что когда запрашивается большой медиафайл и этот медиафайл правильно отформатирован, клиент может запросить только те части файла, которые, как известно, представляют интерес. Это важно для обслуживания видео файлов; если на сервере отсутствует эта функция, видео, размещенные на этом сервере, могут не воспроизводиться до тех пор, пока клиент не загрузит весь файл, а поиск внутри файла может быть отключен. Точно так же PDF- файлы могут быть оптимизированы для обслуживания байтов, чтобы файлы размером в несколько гигабайт можно было мгновенно просматривать в браузере, запрашивая только данные, необходимые для отображения текущей страницы. [5]
Байтовое обслуживание также может использоваться многосетевыми клиентами для одновременной загрузки ресурса через несколько сетевых интерфейсов. [6] Для достижения этого типа агрегации каналов на уровне приложений устанавливаются несколько сеансов HTTP, и сегменты логических файлов совместно загружаются с сервера и повторно собираются на клиенте. Это позволяет полностью использовать несколько сквозных путей и, следовательно, приводит к увеличению скорости загрузки.
Использование Chunked Transfer-Encoding не является побайтовым обслуживанием, а представляет собой метод, при котором сервер HTTP / 1.1 отправляет весь ресурс, но в нескольких отдельных частях (или порциях) данных. [7] Он часто используется, когда сервер не знает точно, сколько данных будет в общем ответе, что позволяет серверу сразу же начать отправку данных клиенту без необходимости буферизовать ответ и определять точную длину перед ним. начинает отправлять его клиенту. Это улучшает задержку и снижает требования к памяти, сохраняя при этом возможность повторно использовать соединение после завершения ответа. Байтовое обслуживание и разбиение на части совместимы и могут использоваться как с другим, так и без него.
Смотрите также
Рекомендации
- ^ Неделя Apache. HTTP / 1.1
- ^ Ключевые различия между HTTP / 1.0 и HTTP / 1.1
- ^ определение обслуживания байтов для обслуживания байтов в бесплатной онлайн-энциклопедии
- ^ Ключевые различия между HTTP / 1.0 и HTTP / 1.1 "Типичным примером является отправка сервером всего (большого) ресурса, когда клиенту нужна только небольшая его часть. В HTTP / 1.0 не было возможности запрашивать частичные объекты .. . Запросы диапазона HTTP / 1.1 позволяют клиенту запрашивать части ресурса ».
- ^ Включить быстрый просмотр в Интернете в PDF
- ^ Улучшение воспроизведения видео по запросу в нескольких гетерогенных сетях доступа Д. Каспар, К. Р. Эвенсен, П. Е. Энгельстад, А. Ф. Хансен, П. Халворсен и К. Гриводц. В: IEEE Consumer Communications and Networking Conference (CCNC), ISBN 978-1-4244-5176-0 , 2010.
- ^ «HTTP Chunking» . Архивировано из оригинала на 2012-02-08.
Внешние ссылки
- RFC 7233: протокол передачи гипертекста (HTTP / 1.1): запросы диапазона