github - 为什么http方式的git push需要密码。
ringa_lee
ringa_lee 2017-05-02 09:47:34
0
2
1102

RT. 已经知道从本地如何不用密码就完成git push到github上,但很好奇为啥http方式就需要每次密码认证才能push,个人对网络协议啥的没接触过,网上也没查到相关解释,所以来这里问下~

ringa_lee
ringa_lee

ringa_lee

répondre à tous(2)
我想大声告诉你

Je pense que cela est lié à certaines caractéristiques du protocole http. En fait, github utilise le protocole Smart http, qui est basé sur le protocole http. Mais pour plus de commodité, j'utiliserai aussi directement le protocole http pour l'appeler plus tard.

Lorsque vous utilisez le protocole http, vous pouvez pousser, cloner et extraire l'entrepôt distant sans aucune configuration locale. En d'autres termes, vous pouvez utiliser ce protocole n'importe où, c'est-à-dire qu'il est indépendant du local. Il s'agit d'une fonctionnalité majeure qui distingue ce protocole du protocole ssh. Parce que le protocole http ne se souviendra pas ou ne saura pas de qui provient la demande, à moins que des méthodes spéciales ne soient utilisées, telles que les cookies. Par conséquent, pour les serveurs qui nécessitent une autorisation, vous devez saisir votre nom d'utilisateur et votre mot de passe pour vérification avant de pouvoir obtenir ou transmettre des données, afin que le serveur sache qui vous êtes et si vous pouvez obtenir ou transmettre des données.

Les caractéristiques du protocole http sont exactement à l'opposé du protocole ssh. Le protocole ssh s'appuie sur la clé ssh pour identifier si vous avez l'autorisation de transmettre ou d'obtenir des données, tandis que la clé ssh est enregistrée localement si vous ne l'avez pas. avoir une clé ssh localement, bien sûr, l'acquisition ne peut pas être complétée ni l'opération de poussée de données. Les deux forment simplement une relation complémentaire et opposée.

Vous devriez maintenant connaître la réponse à la question !

Je voudrais en dire un peu plus ci-dessous, ce qui pourra peut-être vous être utile. Permettez-moi de résumer les avantages et les inconvénients des deux ici :

  • protocole http

    • Avantages : Cela évite les problèmes de configuration locale, tant que vous disposez de l'URL et des autorisations correspondantes, vous pouvez effectuer les opérations correspondantes

    • Inconvénients : Une vérification fréquente est requise pour chaque opération, à moins que le mécanisme de mise en cache des mots de passe ne soit utilisé

  • protocole ssh

    • Avantages : Pas besoin de saisir un mot de passe pour vérification à chaque fois lors de la transmission ou de l'obtention de données

    • Inconvénients : Besoin de configurer et de générer une clé ssh avant utilisation

De plus, pour le site github, nous constaterons que git push, git pull et git fetch nécessitent une vérification, mais git clone ne nécessite pas de vérification. À partir de là, je peux spéculer (juste ma spéculation personnelle, à titre de référence uniquement) que le serveur github est le type de serveur qui nécessite une autorisation, mais il peut s'agir d'une des opérations spécialement définies qui ne nécessite pas de vérification. git clone

Mais j'ai trouvé cette phrase dans le manuel d'aide de Github :

Lorsque vous

git clone, , git fetch ou git pull accédez à un référentiel distant à l'aide d'URL HTTPS sur la ligne de commande, vous Il vous sera demandé votre nom d'utilisateur et votre mot de passe GitHub. >, ou git push, il vous sera demandé de saisir votre nom d'utilisateur et votre mot de passe Github.
Mais en fait git clone vous n'avez pas besoin de saisir le nom d'utilisateur et le mot de passe. Se pourrait-il que le document d'aide soit erroné ? Maintenant, j'ai des questions à poser, j'espère que d'autres pourront continuer ma réponse ! Ou vous pouvez y répondre dans ma question nouvellement ouverte, cliquez ici pour participer.

为情所困

Comment pensez-vous que HTTP enregistre le mot de passe que vous avez saisi ?

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!