[СИ] HTTP/1.1. Chunked
Язык СИ
ОС UNIX
Помогите разобраться.
Вот выдержки из rfc2616
http://www.ietf.org/rfc/rfc2616
Пункт 3.6.1
       Chunked-Body   = *chunk
                        last-chunk
                        trailer
                        CRLF
       chunk          = chunk-size [ chunk-extension ] CRLF
                        chunk-data CRLF
       chunk-size     = 1*HEX
       last-chunk     = 1*("0") [ chunk-extension ] CRLF
       chunk-extension= *( ";" chunk-ext-name [ "=" chunk-ext-val ] )
       chunk-ext-name = token
       chunk-ext-val  = token | quoted-string
       chunk-data     = chunk-size(OCTET)
       trailer        = *(entity-header CRLF)
----------------------------------------------
Пункт 7.1
       entity-header  = Allow                    ; Section 14.7
                      | Content-Encoding         ; Section 14.11
                      | Content-Language         ; Section 14.12
                      | Content-Length           ; Section 14.13
                      | Content-Location         ; Section 14.14
                      | Content-MD5              ; Section 14.15
                      | Content-Range            ; Section 14.16
                      | Content-Type             ; Section 14.17
                      | Expires                  ; Section 14.21
                      | Last-Modified            ; Section 14.29
                      | extension-header
       extension-header = message-header
----------------------------------------------
Пункт 4.2
       message-header = field-name ":" [ field-value ]
       field-name     = token
       field-value    = *( field-content | LWS )
       field-content  = <the OCTETs making up the field-value
                        and consisting of either *TEXT or combinations
                        of token, separators, and quoted-string>
   Пытаюсь написать простой HTTP-клиент.
Для написания и теста парсеров заголовков нужны «максимальные» заголовки,
т. е. наиболее неудобные для парсения.
А получаю только «минимальные», простецкие.
Вот сам написал для теста файл.
HTTP/1.1 200 OK
Set-Cookie: yandexuid=1140701277744450; path=/; domain=.yandex.ru
X-Robot-status: off
transfer-encoding: chunked
Content-Type:
	text/html;
	charset=windows-1251
My-Var: Proba
8
data-1 ;
 8; eda=kolbasa
data-2 ;
8
data-3 ;
0; file=nul
name1:  id64;
	id65
name2:
	id76
	konec
В конце пустая строка («\r\n\r\n»).
Чистое тело «data-1 ;data-2 ;data-3 ;»
Вопрос-1.
Правильно ли я понял, что заголовок блока данных (chunked) всегда
одна-единственная строка, и, значит, перенос строки - это верный признак
конца заголовка блока. Как в примере:
" 8; eda=kolbasa"
«0; file=nul»
Вопрос-2.
Правильно ли я понял, что последний нулевой блок может содержать 
завершающую запись (trailer), которая подобна обычному верхнему
HTTP-заголовку (а не что-нибудь другое), и, значит, парсить ее 
нужно подобным способом?
Кто знает прошу ответить.
