RE: One comment on draft-ietf-httpbis-header-compression-00

Thank you for your suggestions.

I changed the figures in subsections 4.x as you suggested. This will make it easier to grasp quickly how each representation is encoded.

I'm reluctant to add examples of sending headers in the compression spec as there are already present in the main HTTP/2.0 spec.

Hervé.

> -----Original Message-----
> From: Michael Sweet [mailto:msweet@apple.com]
> Sent: jeudi 4 juillet 2013 16:36
> To: HTTP Working Group
> Subject: One comment on draft-ietf-httpbis-header-compression-00
> 
> All,
> 
> Just a couple comments on draft-ietf-httpbis-header-compression-00:
> 
> - Appendix B provides useful examples showing headers and values, but the
> 4.x subsections don't actually show the name or the value in the little
> encoding figures. As I read through I completely missed the one sentence at
> the end of each that indicated that the value is added on the end, and that
> doesn't indicate the number of bits, etc. used to encode it.  I suggest
> updating each figure to include all of the data that appears, for example 4.4.3
> would turn into two figures (or two subsections - I don't know which would
> be clearer):
> 
>       0   1   2   3   4   5   6   7
>     +---+---+---+---+---+---+---+---+
>     | 0 | 0 |      Index (6+)       |
>     +---+---+-----------------------+
>     | 0 | Substitute Index (7+)     |
>     +---+---------------------------+
>     | 0 | Value Length (7+)         |
>     +---+---------------------------+
>     | Value String (Length octets)  |
>     +-------------------------------+
> 
>       0   1   2   3   4   5   6   7
>     +---+---+---+---+---+---+---+---+
>     | 0 | 0 |           0           |
>     +---+---+-----------------------+
>     | 0 | Name Length (7+)          |
>     +---+---------------------------+
>     | Name String (Length octets)   |
>     +---+---------------------------+
>     | 0 | Substitute Index (7+)     |
>     +---+---------------------------+
>     | 0 | Value Length (7+)         |
>     +---+---------------------------+
>     | Value String (Length octets)  |
>     +-------------------------------+
> 
> - It wasn't completely clear until I got to the examples on how a client would
> send headers in a request or how a server would send headers in the
> response. The overview is focused on the header table and
> encoder/decoder but doesn't actually talk about the HTTP client or server - a
> quick high-level example (a "pseudo-encoding"?) might be useful here to
> give the context for the encoder and how it is used, and in fact a simple
> example of a series of GET requests for a web page would illustrate the
> redundancy of headers, e.g.:
> 
>     HTTP/1.1 Client                      HTTP/1.1 Server
> 
>     GET / HTTP/1.1
>     Host: www.example.com
>     User-Agent: my-user-agent
>     Accept-Language: en, fr
> 
>                                          HTTP/1.1 200 OK
>                                          Date: Thu, 4 Jul 2013 15:35:00 GMT
>                                          Server: my-server
>                                          Connection: Keep-Alive
>                                          Keep-Alive: timeout=30
>                                          Content-Type: text/html; charset=utf-8
>                                          Content-Length: 1234
>                                          Content-Language: en
>                                          Last-Modified: Wed, 3 Jul 2013 12:34:56 GMT
> 
>                                          ... content ...
> 
>     GET /image.jpg HTTP/1.1
>     Host: www.example.com
>     User-Agent: my-user-agent
>     Accept-Language: en, fr
> 
>                                          HTTP/1.1 200 OK
>                                          Date: Thu, 4 Jul 2013 15:35:01 GMT
>                                          Server: my-server
>                                          Connection: Keep-Alive
>                                          Keep-Alive: timeout=30
>                                          Content-Type: image/jpeg
>                                          Content-Length: 5678
>                                          Content-Language: en
>                                          Last-Modified: Tue, 2 Jul 2013 10:20:30 GMT
> 
>                                          ... content ...
> 
> vs:
> 
>     HTTP/2.0 Client                      HTTP/2.0 Server
> 
>     :method = get
>     :scheme = http
>     :host = www.example.com
>     :path = /
>     user-agent = my-user-agent
>     accept-language = en, fr
> 
>                                          :status = 200 (or use previous value)
>                                          date = Thu, 4 Jul 2013 15:35:00 GMT
>                                          server = my-server
>                                          content-type: text/html; charset=utf-8
>                                          content-length: 1234
>                                          content-language: en
>                                          last-modified: Wed, 3 Jul 2013 12:34:56 GMT
> 
>                                          ... content ...
> 
>     :method (use previous value)
>     :scheme (use previous value)
>     :host (use previous value)
>     :path = /image.jpg
>     user-agent (use previous value)
>     accept-language (use previous value)
> 
>                                          :status (use previous value)
>                                          date = Thu, 4 Jul 2013 15:35:01 GMT
>                                          server (use previous value)
>                                          content-type = image/jpeg
>                                          content-length = 5678
>                                          content-language (use previous value)
>                                          last-modified = Tue, 2 Jul 2013 10:20:30 GMT
> 
>                                          ... content ...
> 
> You could then go on to talk about how the client and server encode and
> decode the respective headers, with the follow-on examples showing the
> actual encoding.
> 
> _________________________________________________________
> Michael Sweet, Senior Printing System Engineer, PWG Chair
> 

Received on Thursday, 4 July 2013 16:36:30 UTC