哪个协议?svn://或http(s)://?

Ear*_*rlz 60 svn protocols http

SVN的网络访问有四种常用协议.

svn://repos
svn+ssh://repos
https://repos
http://repos
Run Code Online (Sandbox Code Playgroud)

维基百科页面没有说明四种不同协议的差异.我一直很喜欢svn://,因为它是最容易设置的,但有什么不同,哪一个是"更好"?

Tho*_*ini 55

http://有一个严重的开销,特别是在处理数以千计的小文件时.我使用svn作为一个拥有大约50,000个图标的网站,所有这些都保存在SVN中.使用HTTP,大约需要20分钟才能结账.一旦我切换到svn://,它花了不到一分钟.这是因为使用HTTP,每个文件只有一个新的HTTP请求.

http://但是它有以下很大的优势:它通常通过防火墙.例如,现在我切换到svn://我不能再从我的大学访问我的存储库,因为他们的防火墙.

关于使用SSL/TLS与否之间的区别,很明显:数据是加密的; 但是设置起来比较困难.

  • http(s)://的另一个优点是符合WebDAV标准.这意味着您可以在例如资源管理器或其他WebDAV客户端中安装此类存储库.请参见http://svnbook.red-bean.com/nightly/en/svn.webdav.html (5认同)
  • 由于涉及巨大的开销和缺乏WebDAV客户端,Svn从v1.7开始逐渐远离WebDAV标准. (5认同)
  • 投反对票,因为这个答案不再实际。SVN 1.7 及更高版本极大地提高了 HTTP(S) 的使用,并且 `svnserve` 的速度和 HTTP(S) 之间的差异在 Apache 上并没有那么大。 (2认同)

Tho*_*nin 20

svn+ssh是在svnSSH隧道内运行的协议.客户端使用SSH登录远程服务器,并在该隧道中远程运行svn命令.在我看来,这svn+ssh是在远程系统上使用subversion存储库的最简单方法,因为假设您已经运行了SSH服务器,那么在该系统上没有任何服务器可以启动.

此外,还svn+ssh受益于SSH的加密保护.不要svn在不受信任的网络上使用原始协议.

主要问题svn+ssh是它需要在远程机器上进行shell访问.如果没有让他访问整个shell帐户,就很难向某人提供对存储库的访问权限.为此,您需要一种基于HTTP的方法,即httphttps(最好https是因为加密和验证层).这些方法配置起来比较复杂(您需要HTTP/HTTPS服务器,例如Apache),但允许存储库管理员仔细而精确地控制存储库访问权限.

  • @JohanBoulé,请解释如何。 (2认同)

Mac*_*cha 5

https://并且svn+ssh://是加密的,因此更安全地传输安全数据(例如您的SVN密码).

如果这是什么混帐一样,svn+ssh://会比快https://svn://会比快http://.


bah*_*rep 5

有人可能会说,svn://或者svn+ssh://在访问 Subversion 存储库时提供比普通 HTTP 或安全 HTTPS 更好的性能和速度,但现在情况并非如此。虽然svn://svn+ssh://比 HTTP(S) 快,但差异并不像 SVN 1.6 或更旧版本那样大。

没有与HTTP(S)和跟上时代的颠覆1.7+客户端和服务器的主要性能问题。

由于 HTTPv2 (不要与 HTTP/2 混淆!),使用 Subversion 1.7 的 HTTP(S) 访问变得更加高效,尤其是在高延迟网络连接上Subversion 1.8 从libneonlibserf用于 HTTP(S) 访问libserf提供比libneon.

如果您认为某些问题与 HTTP(S) 或通过 HTTP(S) 工作的 Subversion 的性能有关,您应该调查您的网络上是否有任何使 HTTP(S) 变慢的服务。根本原因可能是防病毒软件、活动防火墙或代理。更不用说配置错误的网络设置了。并且不要忘记使用最新的 Subversion 客户端和服务器!

考虑网络配置错误的示例,似乎有一个非常普遍的问题会影响在无法访问 Windows 更新站点 ( http://ctldl.windowsupdate.com/ ) 的断开连接的网络上工作的客户端计算机。这是一个严重的问题,会影响广泛的系统服务,但最终用户在通过 HTTPS 使用 Subversion 客户端时会注意到并报告它。问题看起来与性能有关,但事实并非如此。阅读此 StackOverflow 线程以获取更多信息:https : //stackoverflow.com/a/38499619/761095