On Fri, Jul 15, 2016 at 8:48 PM, Gergely Imreh <[email protected]> wrote:

> On 16 July 2016 at 01:50, Mathieu Lonjaret <[email protected]>
> wrote:
> > ACK, will do.
>
> Thanks, I've tried it out, and with the patchset 2 from your link, and
> I can use the CLI tools.
>
> >
> > On 15 July 2016 at 19:48, Brad Fitzpatrick <[email protected]> wrote:
> >> Instead of auto-detection, let's make this very opt-in and explicit and
> add
> >> a new client config option to "disabledHTTP2": true.
>
> Just as an observation, all other tools handle protocol downgrade
> transparently (browsers, curl, etc..). I think it would be a lot nicer
> user expereice to have that sort of behaviour in camlistore too,
> especially since the servers already give a hint whether or not they
> handle http/2.
> So for example, trying the curl commands in the `clients/curl`
> examples (just the https versions to this particular server), it
> automatically handles all this and can talk to the same camlistore
> server over the same proxy, that the CLI tools cannot.


As Mathieu said, we really want to encourage HTTP/2, which lets us make a
bunch of assumptions which simplifies our code (e.g. previously we were
planning our own batch blob PUT API, which is redundant with HTTP/2).
Normally end-to-end HTTPS means you can do whatever you want and proxies
won't interfere and break your code. If we know it's our code talking to
our code, we know WebSockets will work for instance. Once you have a proxy
involved, the proxy almost invariably shits over everything.

We can totally do automatic downgrade if we wanted to (Go's net/http
package does, for instance, and we used to go through it for all our HTTP),
but we made the decision to hard-code http2 so when something doesn't work,
the user has to very explicitly acknowledge they're running in an
unsupported configuration and things may not work well. Your uploads may be
very slow due to lack of batch requests in http2. Your web UI may not work
due to lack of websockets. Etc.

I care about Camlistore's existence over the coming decades (as services
continues to shut down), so waiting out a temporary phase of HTTP/2 not
being universally deployed is okay at the moment. Its adoption has been
pretty impressive. I'm pretty sure resin.io will upgrade eventually.

-- 
You received this message because you are subscribed to the Google Groups 
"Camlistore" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to