Какой протокол? svn://или http (s)://?

Существует четыре общих протокола для доступа к сети SVN.

svn://repos
svn+ssh://repos
https://repos
http://repos

Страница Wikipedia не говорит многое о различиях четырех различных протоколов. Я всегда предпочитал svn://, потому что является самым легким настроить, но каково различие и какой "лучше"?

59
задан Peter Mortensen 14 November 2015 в 23:35
поделиться

5 ответов

http:// имеет серьезные накладные расходы, особенно при работе с тысячами маленьких файлов. Я использовал svn для сайта, который имел около 50,000 иконок, и все они были сохранены в SVN. При использовании HTTP на проверку ушло около 20 минут. Как только я переключился на svn://, это заняло меньше минуты. Это потому, что с HTTP это один новый HTTP-запрос на файл.

http://, однако, имеет следующее большое преимущество: обычно он проходит через брандмауэры. Например, теперь, когда я переключился на svn://, я больше не могу получить доступ к моему репозиторию из университета из-за их брандмауэра.

Что касается разницы между использованием SSL/TLS или нет, ну, это очевидно: данные зашифрованы; однако их сложнее настроить.

54
ответ дан 24 November 2019 в 18:28
поделиться

также, если вы используете http: // (apache + svn), то вы можете заставить пользователям войти в систему использовать аутентификацию Windows с добавлением модуля Mod_auth_sspi.

Смотрите здесь: http://blog.pengoworks.com/index.cfm/2007/11/1/Configurging-windows-authentication-with-apache--22x-and-subversion

Так что ваша ( Windows) DEV нужно только вспоминать один пользователь / пароль

4
ответ дан 24 November 2019 в 18:28
поделиться

HTTPS: // и SVN + SSH: // зашифрованы и безопасны для передачи безопасных данных (таких как ваш пароль SVN.

Если это что-то вроде git, SVN + SSH: // будет быстрее https: // и SVN: // будет быстрее http: // .

-121--962328-

http и и HTTPS обрабатываются модулем веб-сервера для поддержки Subversion, поэтому вы можете использовать аутентификацию на основе HTTP (сконфигурированную через .HTACCESS) для ограничения доступа к Ваш репозиторий).

3
ответ дан 24 November 2019 в 18:28
поделиться

https: // и svn + ssh: // зашифрованы и поэтому безопаснее передавать защищенные данные (например, в качестве пароля SVN.

Если это что-то вроде Git, svn + ssh: // будет быстрее, чем https: // и svn: // ] будет быстрее, чем http: // .

5
ответ дан 24 November 2019 в 18:28
поделиться

svn + ssh - это протокол svn , работающий внутри туннеля SSH. Клиент использует SSH для входа на удаленный сервер и удаленно запускает команду svn в этом туннеле. На мой взгляд, svn + ssh - самый простой способ использовать репозиторий Subversion в удаленной системе, потому что у вас нет сервера для запуска в этой системе, если предположить, что у вас уже есть SSH-сервер.

Кроме того, svn + ssh использует криптографическую защиту SSH. Не используйте протокол raw svn в ненадежных сетях.

Основная проблема с svn + ssh заключается в том, что он требует доступа к оболочке на удаленной машине.Трудно предложить кому-то доступ к репозиторию без предоставления ему доступа ко всей учетной записи оболочки. Для этого вам нужен один из методов на основе HTTP, то есть http или https (предпочтительно https из-за уровня шифрования и аутентификации). Эти методы более сложны в настройке (вам нужен сервер HTTP / HTTPS, например, Apache), но позволяют администратору репозитория тщательно и точно контролировать права доступа к репозиторию.

20
ответ дан 24 November 2019 в 18:28
поделиться
Другие вопросы по тегам:

Похожие вопросы: