Thread (24 messages) 24 messages, 6 authors, 2016-06-15

Re: Git-aware HTTP transport

flat view

From: "H. Peter Anvin" <hpa@zytor.com>
Date: 2016-06-15 22:45:13

Shawn O. Pearce wrote:
So I think the cost may actually break even with a stateful protocol
if we imagine that the server is actually a farm of systems and
simple round-robin load-balancing is being done in front of the
Git-aware server.

I'd really like to keep the protocol stateless on the server side, as
this makes it easier to embed into certain commerical server farms.
Indeed.  It was a question, not a statement of any sort.  I was curious about the answer.

I really like the new draft, with the one consideration below.
HTTP Transport
--------------

All requests are encoded as HTTP POST requests to the smart service
URL, "$url/backend.git-http/$service".

All responses are encoded as 200 Ok responses, even if the server
side has "failed" the request.  Service specific success/failure
codes are embedded in the content.
I still would like to have an indirection step at the start, in order to keep a single client on a server in the case of skew.  I suggest simply do it as HTTP POST $url/backend.git-http, empty body, and return a URL prefix to use for the remainder of the session.  That way a server who wants a stateful setup can return a URL which contains a session cookie; others can return a URL containing a target server, and finally others can simply return the requesting URL.

	-hpa
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help