Subject: Re: Gitweb != HTTP back-end {Was: Re: The future of gitweb - part 2: JavaScript}

From: Jakub Narebski <[email-masked]>
Date: Wed, 20 Apr 2011 20:47:28 +0200

On Wed, 20 Apr 2011, Drew Northup wrote:
> On Sun, 2011-04-17 at 12:11 +0200, Jakub Narebski wrote:
>> On Sun, 17 Apr 2011, Peter Vereshagin wrote:
>>> 2011/04/17 00:19:07 +0200 Jakub Narebski <[email-masked]> => To Peter Vereshagin :
 
>>> JN> Fetching and pushing via HTTP is not web interface, is HTTP _transport_.
>>> 
>>> But HTTP is an application protocol, not a transport protocol.
> 
> Forgive me, but this is seriously off-base. 
> HTTP := Hyper-Text Transport Protocol. 
>
> It is a generic, stateless, way of moving text (Base-64 encoded for
> binary data) over the wire. Sure, the ISO/OSI model may classify it as
> an "application," but that term does not mean the same thing in all
> contexts. As far as Git is concerned it is a transport; as far as the
> ISO/OSI model of networking is concerned it is an application. We aren't
> talking here about the latter.
 
Note that it is the same relation as Git has with SSH: for Git it is
(statefull and binary-safe, and authenthicated and encrypted) way
of transporting data.

>> 
>> Fetching via "smart" HTTP protocol is actually git-over-http, with
>> some extra work due to the fact that HTTP is stateless.
> 
> ...and Base-64 encoded, and chunked, and so on...

But with git-http-backend being a CGI script, this is what web server
does; git doesn't need to worry about it, but it has to worry about
HTTP being stateless.

-- 
Jakub Narebski
Poland