Re: END_SEGMENT?

On 18/04/2014 4:25 a.m., Jeff Pinner wrote:
> On Thu, Apr 17, 2014 at 12:52 AM, K.Morgan wrote:
>>
>> What is the purpose of END_SEGMENT?
>>
>>
>>
> END_SEGMENTS allows the layering of record-based semantics onto the framing
> layer.
> 
> Consider this use case in HTTP/1.1. An API provides a stream of data using
> HTTP/1.1 chunked encoding. Each chunk contains a single record, and the
> length of this record is indicated by the chunk length. In HTTP/1.1 the
> length of these chunks was unconstrained, but when translating into HTTP/2,
> these chunks must be segmented into multiple data frames to fit within the
> frame size limit.
> 
> If the chunk delineation was meaningful, then END_SEGMENT allows this
> meaning to be preserved.
> 
> The flag is also useful for layering other record-based protocols on top of
> HTTP.
> 

To which the question must be asked:
  do we really want to retain and encourage this broken use of HTTP?

Broken because chunked encoding is hop-by-hop. Any recipient is apt to
re-size the chunks (or even strip them) completely transparently
underneath that application.

It seems the the border is an application specific detail which should
be embeded in the DATA frames payload not forced into HTTP/2.

Amos

Received on Thursday, 17 April 2014 20:34:02 UTC