Байт обслуживающий - Byte serving

Обслуживание байтов (другие названия: 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 отправляет весь ресурс, но в нескольких отдельных частях (или порциях) данных. Он часто используется, когда сервер не знает точно, сколько данных будет в общем ответе, что позволяет серверу сразу же начать отправку данных клиенту без необходимости буферизовать ответ и определять точную длину, прежде чем он начнет его отправлять. клиенту. Это улучшает задержку и снижает требования к памяти, сохраняя при этом возможность повторно использовать соединение после завершения ответа. Байтовое обслуживание и разбиение на части совместимы и могут использоваться как с другим, так и без него.

Смотрите также

Рекомендации

  1. ^ Неделя Apache. HTTP / 1.1
  2. ^ Ключевые различия между HTTP / 1.0 и HTTP / 1.1
  3. ^ определение обслуживания байтов для обслуживания байтов в бесплатной онлайн-энциклопедии
  4. ^ Ключевые различия между HTTP / 1.0 и HTTP / 1.1 "Типичным примером является отправка сервером всего (большого) ресурса, когда клиенту нужна только небольшая его часть. В HTTP / 1.0 не было возможности запрашивать частичные объекты .. . Запросы диапазона HTTP / 1.1 позволяют клиенту запрашивать части ресурса ».
  5. ^ Включить быстрый просмотр в Интернете в PDF
  6. ^ Улучшение воспроизведения видео по запросу в нескольких гетерогенных сетях доступа Д. Каспар, К. Р. Эвенсен, П. Е. Энгельстад, А. Ф. Хансен, П. Халворсен и К. Гриводц. В: IEEE Consumer Communications and Networking Conference (CCNC), ISBN  978-1-4244-5176-0 , 2010.
  7. ^ «HTTP Chunking» . Архивировано из оригинала на 2012-02-08.

Внешние ссылки

  • RFC 7233: протокол передачи гипертекста (HTTP / 1.1): запросы диапазона