Chunked transfer encoding

Chunked transfer encoding

Chunked transfer encoding - механизм передачи данных в протоколе передачи гипертекста (HTTP), позволяющий надёжно доставлять данные от сервера клиенту (чаще всего клиентскому web-браузеру) без необходимости заранее знать точный размер всего тела HTTP сообщения. Это достигается разбиением сообщения на небольшие части (chunks), а затем передачей каждой части с указанием только её размера (в формате HEX). Окончание передачи сообщения определяется наличием последней части с нулевой длиной. Такой механизм позволяет передать динамически сформированные объекты, для которых нельзя заранее определить размер. Он стал доступен только начиная с HTTP версии 1.1 (HTTP/1.1).

Без механизма сhunked transfer encoding с каждым HTTP пакетом необходимо указывать заголовок Content-length, чтобы клиент мог найти конец передаваемого сообщения.

Формат

Для отделения записей размеров блоков (частей) от их содержаний используется разделитель CRLF (как строка: "\r\n"; как байты в формате HEX: 0x0D, 0x0A ). Длина блока - это размер содержания блока, разделители CRLF не учитываются.

Схематическое представление: <длина блока в HEX><CRLF><содержание блока><CRLF>

Последний блок строится по той же схеме, потому имеет следующий вид по причине отсутствия содержания: 0<CRLF><CRLF>

Пример

 HTTP/1.1 200 OK
 Server: nginx/1.0.4
 Date: Thu, 06 Oct 2011 16:14:01 GMT
 Content-Type: text/html
 Transfer-Encoding: chunked
 Connection: keep-alive
 Vary: Accept-Encoding
 X-Powered-By: PHP/5.3.6

 23
 This is the data in the first chunk
 1A
 and this is the second one
 3
 con
 8
 sequence
 0



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Chunked transfer encoding" в других словарях:

  • Chunked transfer encoding — is a data transfer mechanism in version 1.1 of the Hypertext Transfer Protocol (HTTP) in which a web server serves content in a series of chunks. It uses the Transfer Encoding HTTP response header in place of the Content Length header, which the… …   Wikipedia

  • Chunked transfer encoding — est un mécanisme de transfert de données de la version 1.1 du protocole HTTP (Hypertext Transfert Protocol), qui permet à un serveur ou à un client de transférer des données par petits morceaux sans avoir à connaître à l avance la taille totale… …   Wikipédia en Français

  • Hypertext Transfer Protocol — HTTP Persistence · Compression · HTTPS Request methods OPTIONS · GET · HEAD · POST · PUT · DELETE · TRACE · CONNECT Header fields Cookie · ETag · Location · Referer DNT · …   Wikipedia

  • HyperText Transfer Protocol — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Hyper Text Transfer Protocol — Hypertext Transfer Protocol Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Hypertext Transfer Protocol, Secured — Hypertext Transfer Protocol Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Hypertext transfer protocol — Pile de protocoles 7 • Application 6 • Présentation 5 • Session 4 • …   Wikipédia en Français

  • Hypertext Transfer Protocol — Fonction Transmission d hypertexte Sigle HTTP Date de création 1990 …   Wikipédia en Français

  • Windows Vista networking technologies — This article is part of a series on Windows Vista New features Overview Technical and core system Security and safety Networking technologies I/O technologies Management and administration Removed features …   Wikipedia

  • Chunking (computing) — In computer programming, chunking has multiple meanings. In memory management Typical modern software systems allocate memory dynamically from structures known as heaps. Calls are made to heap management routines to allocate and free memory. Heap …   Wikipedia


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»