Re: git smart protocol via WebSockets - feedback wanted

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 5, 2012 at 11:41 AM, Stephan Peijnik <stephan@xxxxxxxxxx> wrote:
> On 06/05/2012 08:31 PM, Junio C Hamano wrote:
>>
>> How does this compare with the smart-http support that tunnels the
>> git protocol over http (with some butchering)?
>
>
> To be honest, I didn't know smart-http support yet. Is that the approach
> introduced with git 1.6.6?

Yes. So its been around for a while now. Like 2 years.

> If so, that approach uses multiple POST requests, meaning multiple TCP and
> HTTP connections need to be established, multiple requests processed, etc.

Its actually only one TCP connection... assuming the servers in
between the client and the Git endpoint correctly support HTTP
keep-alive semantics.

> The WebSocket approach uses a single HTTP connection which gets upgraded to
> a WebSocket. This WebSocket then allows the same communication to happen as
> with the ssh implementation.

How does this fair going through crappy proxy servers that perform
man-in-the-middle attacks on SSL connections? Just last week I was
trying to help someone whose local proxy server was MITM the SSL
session behind Git's back, and their IT department forgot to install
the proxy server's certificate into the system certificate directory.
They only installed it into the browser. That proxy also doesn't
correctly grok HTTP 1.1 keep-alive with chunked transfer encodings.
Let alone something as new as web sockets.

> So in comparison there is possibly a lot less overhead and, in theory, the
> performance should be comparable to running the smart protocol over ssh.
> Personally I'd say the WebSocket approach is cleaner than the HTTP-POST
> approach.

This may be true. But its also a lot more complex to implement. I
noticed you reused Python code to help make this work. Let me know
when there is a GPLv2 client library that implements sufficient
semantics for WebSockets that Git can bundle it out of the box. And
let me know when most corporate IT proxy servers correctly grok
WebSockets. I suspect it will be many more years given that they still
can't even grok chunked transfer encoding.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]