gpt4 book ai didi

git - GitHub 中 HTTPS 和 SSH 的混淆

转载 作者:行者123 更新时间:2023-12-01 11:12:04 26 4
gpt4 key购买 nike

我正在学习 Git 和 GitHub,并想就此提出一些问题。我发现有两种方法可以从本地 PC 连接和与 GitHub 存储库交互:通过 SSH 和 HTTPS。我面临的困惑是在这里 https://www.techwalla.com/articles/what-is-the-purpose-of-hypertext-transfer-protocol它说“HTTP 协议(protocol)的目的是为 Web 浏览器和服务器提供一种标准的方式来相互通信。”由于 HTTPS 只是 HTTP 的更安全版本,如果我们通过 HTTPS 与 GitHub 交互,我们怎么可能使用 bash 之类的 shell 而不是浏览器来与 GitHub 存储库交互。其次,HTTPS 是否允许仅传输数据,或者它是否也允许像 SSH 允许我们那样操作服务器(在远程服务器中创建和删除文件)?

最佳答案

The purpose of the HTTP protocol is to provide a standard way for web browsers and servers to talk to each other.



在更一般的形式中,HTTP 用于在客户端和服务器之间进行通信。这里的客户端可以是网络浏览器,甚至是命令行界面。

Since HTTPS is just more secured version of HTTP, how it is possible that, if we interact with GitHub via HTTPS, we can use shell like bash and not browser to interact with GitHub repo.



由于已经确定 HTTP/S 用于服务器和客户端之间的通信,并且 Web 浏览器只是 一个 在众多客户端中,现在很容易理解为什么可以通过 bash 进行通信。请注意,要进行通信,最需要身份验证,如果完成了,那么您可以轻松进行通信。在这里,您正在 github 服务器和命令行客户端之间进行通信。

Secondly, Does HTTPS allow to just transfer data or Does it also allow to manipulate server(creating and deleting files in remote server) like SSH allows us to do?



它只允许只传输数据。请记住,HTTPS 只是一个 协议(protocol) , 表示只是一组规则,如果遵循这些规则,将 允许 你转 数据 服务器和客户端之间。现在 数据 仅当服务器 时才有用了解它。
如果,说 数据 包含一个命令 删除所有数据 , 如果服务器 了解并以某种方式运行该命令,然后是的,您以某种方式操纵了服务器。
但在同样的情况下,如果服务器不理解,则不会发生任何变化。但正如你所见,你 HTTPS 除了允许或不允许转移 之外,在进行该更改时没有任何作用数据 .

希望这在某种程度上有所帮助。

编辑:
还想补充一点,有标准的 HTTP 方法,允许修改服务器数据; POST、DELETE 等。要充分说明这一点,请检查评论。

引用@Z4-tier 进行了编辑
"
如前所述,bash 并不涉及 git 如何与远程主机通信。此外,最后一段具有误导性。 HTTP 确实提供了能够操作服务器资源的方法:DELETE、PUT、POST 等……这些请求方法是规范的一部分。我认为您将 HTTP 与底层传输层协议(protocol)混为一谈。 – Z4层”

关于git - GitHub 中 HTTPS 和 SSH 的混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58907950/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com