Subject: Re: [weirds] New Version Notification - draft-ietf-weirds-using-http-09.txt

From: Barry Leiba <[email-masked]>
Date: Fri, 8 Aug 2014 12:24:41 -0400

> A new version (-09) has been submitted for draft-ietf-weirds-using-http:
> http://www.ietf.org/internet-drafts/draft-ietf-weirds-using-http-09.txt

It appears that you folks misunderstand HTTP version 2, and the
changes to the references you've made in using-http-09 are very wrong.
Let's discuss that now, before things go further.

The first red flag is the "Normative Reference Note" up front:

   Normative Reference Note

   Normative references to RFC 7231 and draft-ietf-httpbis-http2 can be
   replaced with a reference to RFC 2616 if draft-ietf-httpbis-http2 is
   still a work in progress when this document is ready for publication.

Neither RFC 2616 nor RFC 7231 has anything at all to do with HTTP
version 2, and whether you cite 2616 or 7231 has nothing to do with
the status of the v2 draft.  That tells me that you think that HTTP
version 2 is the new HTTP that will replace HTTP 1.1 when the v2 spec
becomes an RFC.  That's not the case.

HTTP v2 is a related protocol that's meant to specify the direction
we'll eventually go with HTTP, but nothing will replace HTTP 1.1 in
the foreseeable future, and the two versions will coexist for a very
long time.

Bottom line:
Unless there's a *specific* reason that you're using HTTP v2 -- one
that you can explain to me now -- you should not be citing the http2
draft, and should not be paying any attention to HTTP v2 at all.

Now, on the references in general -- I really think the httpbis
working group needs to write an informational document, "How to
Reference the HTTP 1.1 Document Series", but that's for me to talk
with Mark about -- let me give some advice:

At the beginning of the Introduction:

   This document describes the usage of HTT[RFC7231]P for Registration
   Data Directory Services.  The goal of this document is to tie
   together usage patterns of HTTP into a common profile applicable to
   the various types of Directory Services serving Registration Data
   using RESTful practices.

Apart from the misplaced citation text (which seems to come up in a
few places; what drafting tools are you using?), I think you should be
citing RFC 7230 here, as a general reference to what HTTP is.  You'll
need to cite 7231 also, but that's later.

Later in the Introduction:

   1.  A client issues an HTTP query using GE[I-D.ietf-httpbis-http2]T.
       As an example, a query for the network registration 192.0.2.0
       might be http://example.com/ip/192.0.2.0.

This is where it's clear that you think that http2 is the new version
that you should be citing.  And this is where your reference should be
RFC 7231, because that's where the GET method is defined.

In Section 3:

   First, each query is meant to return either zero or one result.  With
   the maximum upper bound being set to one, the issuance of redirects
   is simplified to the traditional query/response model used by HTTP
   [RFC7231].

Again, you're talking about HTTP architecture, so please use RFC 7230 here.

In Section 9.3:

   Given the description of the use of language identifiers in
   Section 9.2, unless otherwise specified servers SHOULD ignore the
   HTTP [RFC7231] Accept-Language header field when formulating HTTP
   entity responses, so that clients do not conflate the Accept-Language
   header with the 'lang' values in the entity body.

7231 is the correct reference, but the citation is in the wrong place:
you're giving a reference fo the Accept-Language header field, so the
citation should be after that:

NEW
   Given the description of the use of language identifiers in
   Section 9.2, unless otherwise specified servers SHOULD ignore the
   HTTP Accept-Language header field [RFC7231] when formulating HTTP
   entity responses, so that clients do not conflate the Accept-Language
   header with the 'lang' values in the entity body.
END

In Appendix B:

   Some HTTP [RFC7231] cache infrastructure does not adhere to caching
   standards adequately, and could cache responses longer than is
   intended by the server.  To overcome these issues, clients can use an
   adhoc and improbably used query parameter with a random value of
   their choosing.

The reference here should be to 7234, where caching is covered, and it
should be an informative reference.  The citation should also move.
(Also also, "ad hoc" is a two-wod phrase.)  So:

NEW
   Some HTTP cache infrastructure [RFC7234] does not adhere to caching
   standards adequately, and could cache responses longer than is
   intended by the server.  To overcome these issues, clients can use an
   ad hoc and improbably used query parameter with a random value of
   their choosing.
END

So that leaves you with:
- removing the reference to draft-ietf-httpbis-http2
- adding a normative reference to RFC 7230
- retaining the normative reference to RFC 7231
- adding an informative reference to RFC 7234

Then I think we're cool here.

Barry

---

From: Andy Newton <[email-masked]>
Date: Fri, 8 Aug 2014 16:34:57 +0000

> Then I think we're cool here.

Thanks Barry. This makes much more sense to me. We were following direction given to us in Toronto for this and our other documents.

-andy