Subject: chunk-extensions

From: Mark Nottingham <[email-masked]>
Date: Fri, 22 Oct 2010 13:29:23 +1100

What do people think about deprecating the use of chunk-extensions -- i.e., requiring that they be consumed, but not produced?

     chunk          = chunk-size *WSP [ chunk-ext ] CRLF
                      chunk-data CRLF
     chunk-size     = 1*HEXDIG
     last-chunk     = 1*("0") *WSP [ chunk-ext ] CRLF

     chunk-ext      = *( ";" *WSP chunk-ext-name
                         [ "=" chunk-ext-val ] *WSP )
     chunk-ext-name = token
     chunk-ext-val  = token / quoted-str-nf

I haven't seen any practical uses for them, and haven't seen any implementations that do anything with them other than throw them away. 

Regards,

--
Mark Nottingham   http://www.mnot.net/

---

From: Adrien de Croy <[email-masked]>
Date: Fri, 22 Oct 2010 16:08:43 +1300

I'd be in favour of deprecating them.

In fact come to think of it, since WinGate re-chunks data going through 
(since it needs to de-chunk it for filters), they are effectively 
stripped anyway.

Adrien

---

From: Willy Tarreau <[email-masked]>
Date: Fri, 22 Oct 2010 06:54:10 +0200

> (since it needs to de-chunk it for filters), they are effectively 

Agreed. Also, I found that they significantly complicated the chunk size
parser code in haproxy and I would not be surprized if some chunk parsers
don't support them at all and fail on them.

Regards,
Willy

---

From: Daniel Stenberg <[email-masked]>
Date: Fri, 22 Oct 2010 08:54:07 +0200 (CEST)

On Fri, 22 Oct 2010, Mark Nottingham wrote:

> What do people think about deprecating the use of chunk-extensions -- i.e., 
> requiring that they be consumed, but not produced?

> I haven't seen any practical uses for them, and haven't seen any 
> implementations that do anything with them other than throw them away.

I've had customers/users that actually used them, but I can't tell if they 
still exist and if so to what extent...

-- 

  / daniel.haxx.se

---

From: Daniel Stenberg <[email-masked]>
Date: Fri, 22 Oct 2010 09:22:24 +0200 (CEST)

> implementations that do anything with them other than throw them away.

I should add that curl/libcurl does indeed handle them the "normal" API way.

-- 

  / daniel.haxx.se

---

From: Daniel Stenberg <[email-masked]>
Date: Fri, 22 Oct 2010 12:04:04 +0200 (CEST)

> I should add that curl/libcurl does indeed handle them the "normal" API way.

Gah, I'm severly confused. No, I was wrong and mixed it up with how we handle 
chunked trailers. We do not handle chunk-extensions, sorry for the noise.

Move on, nothing to see here ;-)

--

  / daniel.haxx.se

---

From: "Eric J. Bowman" <[email-masked]>
Date: Sat, 23 Oct 2010 01:08:32 -0600

> implementations that do anything with them other than throw them

Perhaps last-chunk, at least, should be retained...

http://tools.ietf.org/id/draft-zhu-http-fullduplex-01.txt

...as it seems to be required for full-duplex.

-Eric

---

From: Mark Nottingham <[email-masked]>
Date: Sun, 24 Oct 2010 10:46:41 +1100

last-chunk isn't a chunk-extension, it's an integral part of chunked encoding.