From: "H. Peter Anvin" <hpa@zytor.com>
To: "Shawn O. Pearce" <spearce@spearce.org>
Cc: Git Mailing List <git@vger.kernel.org>
Subject: Re: More on git over HTTP POST
Date: Sat, 02 Aug 2008 21:01:11 -0700 [thread overview]
Message-ID: <48952D87.2070707@zytor.com> (raw)
In-Reply-To: <20080803025602.GB27465@spearce.org>
Shawn O. Pearce wrote:
> Chunked Transfer Encoding
> -------------------------
>
> For performance reasons the HTTP/1.1 chunked transfer encoding is
> used frequently to transfer variable length objects. This avoids
> needing to produce large results in memory to compute the proper
> content-length.
One more thing about chunked transfer encodings: you cannot assume that
a proxy will maintain chunk boundaries, any more than you can assume
that a firewall will maintain TCP packet boundaries.
> Detecting Smart Servers
> -----------------------
>
> HTTP clients can detect a smart Git-aware server by sending the
> show-ref request (below) to the server. If the response has a
> status of 200 and the magic x-application/git-refs content type
> then the server can be assumed to be a smart Git-aware server.
>
> If any other response is received the client must assume dumb
> protocol support, as the server did not correctly response to
> the request.
I think it should be application/x-git-refs, but that's splitting hairs.
> Obtains the available refs from the remote repository. The response
> is a sequence of git "packet lines", one per ref, and a final flush
> packet line to indicate the end of stream.
>
> C: GET /path/to/repository.git?show-ref HTTP/1.0
>
I really think it would make more sense to use POST requests for
everything, and have the command part of the POSTed payload. Putting
stuff in the URL just complicates the namespace to the detriment of the
admin.
> S: HTTP/1.1 200 OK
> S: Content-Type: x-application/git-refs
> S: Transfer-Encoding: chunked
Transfer-encoding: chunked is illegal with a HTTP/1.0 client.
-hpa
next prev parent reply other threads:[~2008-08-03 4:01 UTC|newest]
Thread overview: 40+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-01 21:50 More on git over HTTP POST H. Peter Anvin
2008-08-02 20:57 ` Shawn O. Pearce
2008-08-02 21:00 ` Daniel Stenberg
2008-08-02 21:08 ` Shawn O. Pearce
2008-08-02 21:23 ` Petr Baudis
2008-08-02 21:32 ` Shawn O. Pearce
2008-08-03 2:56 ` Shawn O. Pearce
2008-08-03 3:27 ` Junio C Hamano
2008-08-03 3:31 ` Shawn O. Pearce
2008-08-03 3:47 ` H. Peter Anvin
2008-08-03 4:10 ` Shawn O. Pearce
2008-08-03 8:10 ` david
2008-08-03 11:42 ` H. Peter Anvin
2008-08-03 11:29 ` H. Peter Anvin
2008-08-03 3:51 ` H. Peter Anvin
2008-08-03 4:12 ` Shawn O. Pearce
2008-08-03 11:31 ` H. Peter Anvin
2008-08-03 4:01 ` H. Peter Anvin [this message]
2008-08-03 6:43 ` Mike Hommey
2008-08-03 7:25 ` [RFC 1/2] Add backdoor options to receive-pack for use in Git-aware CGI Shawn O. Pearce
2008-08-03 7:25 ` [RFC 2/2] Add Git-aware CGI for Git-aware smart HTTP transport Shawn O. Pearce
2008-08-03 11:38 ` H. Peter Anvin
2008-08-03 21:25 ` Shawn O. Pearce
2008-08-03 22:16 ` Junio C Hamano
2008-08-04 3:59 ` Shawn O. Pearce
2008-08-04 9:53 ` Rogan Dawes
2008-08-04 10:08 ` Johannes Schindelin
2008-08-04 10:14 ` Rogan Dawes
2008-08-04 10:26 ` Johannes Schindelin
2008-08-04 14:48 ` Shawn O. Pearce
2008-08-04 15:45 ` Rogan Dawes
2008-08-04 15:59 ` Shawn O. Pearce
2008-08-04 16:18 ` Rogan Dawes
2008-08-05 1:03 ` H. Peter Anvin
2008-08-05 1:24 ` Shawn O. Pearce
2008-08-05 1:35 ` H. Peter Anvin
2008-08-05 1:57 ` Shawn O. Pearce
2008-08-05 2:02 ` H. Peter Anvin
2008-08-13 1:56 ` H. Peter Anvin
2008-08-13 2:37 ` Shawn O. Pearce
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=48952D87.2070707@zytor.com \
--to=hpa@zytor.com \
--cc=git@vger.kernel.org \
--cc=spearce@spearce.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).