60 votes

Quel protocole? svn: // ou http (s): //?

Il existe 4 protocoles communs pour l’accès réseau du réseau SVN.

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

La page wikipedia ne dit pas grand-chose sur les différences entre les 4 protocoles différents. J'ai toujours préféré svn:// parce que c'est le plus facile à configurer, mais quelle est la différence et laquelle est "meilleure"?

55voto

Andreas Bonini Points 15709

http:// a un grave dessus, surtout lorsqu'ils traitent avec des milliers de petits fichiers. J'ai utilisé svn pour un site web qui avait environ 50 000 icônes, tous enregistrés sur SVN.. Avec HTTP, il a fallu environ 20 minutes à la caisse. Une fois que je suis passé à svn://, il a fallu moins d'une minute. C'est parce que avec HTTP, c'est une nouvelle requête HTTP par fichier.

http:// a cependant l'suivantes gros avantage: il va généralement à travers les pare-feu. Par exemple, maintenant que je suis passé à l' svn:// je ne peux plus accéder à mon référentiel de mon université en raison de leur pare-feu.

Quant à la différence entre l'utilisation d' SSL/TLS ou pas, eh bien, c'est évident: les données sont cryptées; mais il est plus difficile à mettre en place.

21voto

Thomas Pornin Points 36984

svn+ssh est le svn protocole exécuter à l'intérieur d'un tunnel SSH. Le client utilise SSH pour se connecter sur le serveur de supprimer à distance et exécute la commande svn dans ce tunnel. À mon avis, svn+ssh est le moyen le plus facile d'utiliser un référentiel subversion sur un lointain système, parce que vous n'avez pas n'importe quel serveur à lancer sur ce système, en supposant que vous avez déjà un serveur SSH en cours d'exécution.

Aussi, svn+ssh les avantages de la protection cryptographique de SSH. Ne pas utiliser le raw svn protocole sur des réseaux non fiables.

Le principal problème de l' svn+ssh , c'est qu'il nécessite un accès shell sur la machine distante. Il est difficile d'offrir à quelqu'un l'accès à la logithèque sans lui donner accès à l'ensemble du compte shell. Pour cela, vous voulez l'un des HTTP méthodes, c'est à dire http ou https (de préférence https en raison du chiffrement et de l'authentification de la couche). Ces méthodes sont plus complexes à configurer (vous avez besoin d'une adresse HTTP/HTTPS serveur, par exemple Apache), mais de permettre au référentiel de l'administrateur de soin et précision du référentiel de contrôle des droits d'accès.

5voto

Macha Points 4488

https:// et svn+ssh:// sont cryptés et sont donc plus sûrs pour la transmission de données sécurisées (comme votre mot de passe svn).

Si c'est un peu comme git, svn+ssh:// sera plus rapide que https:// et svn:// sera plus rapide que http://

4voto

Ezz Points 445

Aussi, si vous utilisez http:// (Apache + SVN), alors vous pouvez obtenir vos utilisateurs de se connecter en utilisant l'Authentification Windows avec l'ajout de la mod_auth_sspi module.

Voir ici: http://blog.pengoworks.com/index.cfm/2007/11/1/Configuring-Windows-Authentication-with-Apache-22x-and-Subversion

Si votre (windows) devs n'ont qu'à se rappeler un utilisateur / mot de passe

3voto

Vestel Points 609

http et https sont gérés par le module de serveur Web pour la prise en charge de la sous-version, vous pouvez donc utiliser l'authentification basée sur http (configurée via .htaccess) pour limiter l'accès à votre référentiel).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X