Details
-
New Feature
-
Status: Closed
-
Major
-
Resolution: Fixed
-
trunk
-
None
Description
[From trunk/notes/http-protocol-v2.txt] GOAL ==== Write a new HTTP protocol for svn -- one which has no pretense of adhering to some pre-existing standard, and which is designed for speed and comprehensibility. This ain't your Daddy's WebDAV. PURPOSE / HISTORY ================= Subversion standardized on Apache and the WebDAV/DeltaV protocol as a back in the earliest days of development, based on some very strong value propositions: A. Able to go through corporate firewalls B. Zillions of authn/authz options via Apache C. Standardized encryption (SSL) D. Excellent logging E. Built-in repository browsing F. Caching within intermediate proxies G. Interoperability with other WebDAV clients Unfortunately, DeltaV is an insanely complex and inefficient protocol, and doesn't fit Subversion's model well at all. The result is that Subversion speaks a "limited portion" of DeltaV, and pays a huge performance price for this complexity. REQUIREMENTS ============ Write a new HTTP protocol for svn ("HTTP v2"). Map RA requests directly to HTTP requests. * svn over HTTP should be much faster (eliminate extra turnarounds) * svn over HTTP should be almost as easy to extend as svnserve. * svn over HTTP should be comprehensible to devs and users both (require no knowledge of DeltaV concepts). * svn over HTTP should be designed for optimum cacheability by web proxies. * svn over HTTP should make use of pipelined and parallel requests when possible.