W3C home > Mailing lists > Public > ietf-http-wg@w3.org > October to December 2013

Re: A proposal

From: James M Snell <jasnell@gmail.com>
Date: Sun, 17 Nov 2013 12:57:40 -0800
Message-ID: <CABP7RbfLJdLXQKUZTfLgXivAW6k9E7o6Ahud-fHLba-unjPV4g@mail.gmail.com>
To: Tim Bray <tbray@textuality.com>
Cc: Zhong Yu <zhong.j.yu@gmail.com>, ietf-http-wg@w3.org, Poul-Henning Kamp <phk@phk.freebsd.dk>, Mike Belshe <mike@belshe.com>
This proposal doesn't change that assumption.  It just says that if you see
http:// that means http/1.x. If you see https, that means TLS with either
http/1.x or 2.0. You only get plain text http/2 if you use the new scheme.
That ought to sufficiently make plain text http/2 largely undependable on
the broader Web,  while still allowing those who really want it a means of
doing so.

If someone wants to use a response header or DNS or whatever to advertise
that they support plaintext http/2, then they may do so.  But that's an
orthogonal issue.
 On Nov 17, 2013 12:45 PM, "Tim Bray" <tbray@textuality.com> wrote:

> Yeah, Mike’s right; the proposal is architecturally cool, I like it; but
> the universe of Web content is completely permeated with hardcoded “http://”
> and “https://” (static files, code, and templates) and I think we have to
> live with that :(
>
>
> On Sun, Nov 17, 2013 at 12:32 PM, Mike Belshe <mike@belshe.com> wrote:
>
>> I think I replied earlier, but I am strongly against any proposal which
>> introduces new URL scheme for HTTP.
>>
>> This is changing the UI of the web, which most users don't understand
>> (and shouldn't need to).  Right now, users don't have to know about HTTP2
>> vs HTTP1.1 vs HTTP1.  If we make them have to differentiate, we've really
>> screwed up badly.
>>
>> This would also open a new set of security risks, as you'd now have to
>> deal with sites that include resources from http: and http2:, and is that a
>> mixed-content warning?  I think it would have to be.
>>
>> Finally, this would make server side deployment very hard - there are a
>> tremendous number of applications (php, java, etc) with 'http://' hard
>> coded, and all of those would have to change.
>>
>> Mike
>>
>>
>>
>>
>>
>> On Sun, Nov 17, 2013 at 12:15 PM, Zhong Yu <zhong.j.yu@gmail.com> wrote:
>>
>>> If a URL is http://something, it better means that the document can be
>>> retrieved by HTTP/1 on clear TCP. If that assumption is broken, a lot
>>> of software will be broken.
>>>
>>> On Sun, Nov 17, 2013 at 1:58 PM, Poul-Henning Kamp <phk@phk.freebsd.dk>
>>> wrote:
>>> > In message <
>>> CACuKZqE4DDsZif_WA+fguDFXEJwHbVUKt6FdC-2CMqR5dWgiHA@mail.gmail.com>
>>> > , Zhong Yu writes:
>>> >
>>> >>As a web page author, how do I choose which scheme, http:// or
>>> >>http2://, to use for a link? Do I need to detect the browser version
>>> >>the page is rendered on?
>>> >
>>> > Right now we have two schemes in common use:  "http" and "https"
>>> > and people in both ends of the HTTP connection interpret that
>>> > (more or less) as "without privacy" and "with privacy" respectively.
>>> >
>>> > This is counter to the IETFs ratified semantics of the scheme as
>>> > protocol selector for these two values, but I think we will shoot
>>> > ourselves big holes in the feet, if we try to press the IETF
>>> > view down over everybodys head, as a preconditition for using HTTP2.
>>> >
>>> > The choice of HTTP/1 vs. HTTP/2 should be decoupled from the HTML
>>> > and from the browsers URL field, and therefore I cannot support
>>> > James proposal.
>>> >
>>> > My counter proposal:
>>> >
>>> > 1. HTTP/2 on port 100 is always plaintext, which makes life easy
>>> >    for network people and is conceptually simple for everybody
>>> >    to understand.  It also does not need any RTT before HTTP/2
>>> >    performance benefits kick in.
>>> >
>>> > 2. Encrypted HTTP/2 will go over 443 (if SSL/TLS is used, otherwise
>>> >    I suspect that will need a new port too ?)  This makes life
>>> >    easy and is conceptually easy to understand too.
>>> >
>>> > 3. Servers or intermediaries which can do HTTP/2 (port 100 and/or
>>> >    443) can indicate this two ways:
>>> >
>>> >    a) By sending a header in only the *first* HTTP/1 response on
>>> >       any connection.
>>> >
>>> >       This new header must be listed in "Connection:" since protocols
>>> >       supported is by nature a hop-by-hop property.
>>> >
>>> >       (For further study:  Make this a general purpose header which
>>> >       can also indicate HTTPS, SCTP or other protols supported ?)
>>> >
>>> >    b) In DNS records. (For futher study:  How ?)
>>> >
>>> >    Servers should do both. Intermediaries can only do a).
>>> >
>>> > 4. URIs in HTML documents do not change.
>>> >
>>> >         "http:" means "no privacy needed"
>>> >         "https:" means "privacy required"
>>> >
>>> >    The user-agent gets to resolve that into HTTP/1 and HTTP/2 (or
>>> >    any other protocols), according to policy, preference and custom,
>>> >    based on server provided information, possibly cached.
>>> >
>>> > 5. Upgrading a HTTP/1 connection on port 80 to HTTP/2 will not
>>> >    be supported, the risk of reducing web relibility is too high and
>>> >    it would add RTT costs before HTTP/2 performance benefits kick in.
>>> >
>>> > 6. Upgrading a HTTP/1 connection on port 443 to HTTP/2 is desired
>>> >    only if HTTP/2 cannot be a negotiated option during the TLS -
>>> >    handshake.  I don't know the answer to this one, it may for
>>> >    further study ?
>>> >
>>> > --
>>> > Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
>>> > phk@FreeBSD.ORG         | TCP/IP since RFC 956
>>> > FreeBSD committer       | BSD since 4.3-tahoe
>>> > Never attribute to malice what can adequately be explained by
>>> incompetence.
>>>
>>>
>>
>
Received on Sunday, 17 November 2013 20:58:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 1 March 2016 11:11:19 UTC