W3C home > Mailing lists > Public > ietf-http-wg@w3.org > April to June 2014

RE: hpack table size 0

From: Mike Bishop <Michael.Bishop@microsoft.com>
Date: Mon, 30 Jun 2014 14:15:16 +0000
To: "K.Morgan@iaea.org" <K.Morgan@iaea.org>, "ietf-http-wg@w3.org" <ietf-http-wg@w3.org>
Message-ID: <e0ae795a95d5469f82715b8d2f0deb82@BL2PR03MB132.namprd03.prod.outlook.com>
The server has a couple of options, none of them perfect, while it waits one RTT for the client to process its SETTINGS:
  - Allocate up to 4K temporarily and handle all the requests
  - RST_STREAM CANCEL any request which follows an indexed literal and either references the header table or fails to clear the reference set as the first operation (the indexed header itself is fine, it's whether any subsequent request expects the server to have retained that header that could cause a problem.); let the client resend once it has the SETTINGS frame

Again, this is a problem of reducing a value -- because you're starting from a non-zero default and reducing it, you either have to wait before deallocating the resources or lose a round trip before successful requests can flow.

-----Original Message-----
From: K.Morgan@iaea.org [mailto:K.Morgan@iaea.org] 
Sent: Monday, June 30, 2014 4:58 AM
To: ietf-http-wg@w3.org
Subject: hpack table size 0

It's been mentioned previously that resource-constrained implementations may set the table size to 0 (i.e. SETTINGS_HEADER_TABLE_SIZE).

Assume a server has table size 0... Questions:

1. The client's first request will likely include entries that are "Literal Header Field with Incremental Indexing".  I assume it is OK for the server to process a request with this type of literal even though the server won't be adding to its 0-size table?  Am I missing something?

2. If the client is sending multiple requests right after the connection is opened, each request after the first will likely include entries that reference the table (i.e. "Indexed Header Field Representation").  What is an endpoint supposed to do if the peer references something not in its table?  REFUSED_STREAM?  What mechanism should be used to tell the peer to retry?

This email message is intended only for the use of the named recipient. Information contained in this email message and its attachments may be privileged, confidential and protected from disclosure. If you are not the intended recipient, please do not read, copy, use or disclose this communication to others. Also please notify the sender by replying to this message and then delete it from your system.
Received on Monday, 30 June 2014 14:15:46 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 17:14:31 UTC