在互联网环境中,我总是认为客户端是向服务器请求某些东西的某物或某人(服务器-客户端模型)。
然后我偶然发现了 Git 和它的众多客户端。我首先选择的是 TortoiseGit 客户端。
但是什么使 TortoiseGit 成为客户端?它不与服务器通信(我只在本地使用 Git),我猜它真正通信的唯一对象是 git.exe,那么 git.exe 是“服务器”,而 TortoiseGit 是“客户端”吗?
或者客户端这个术语是否有多重含义,并且在谈论互联网时在 Git GUI 上下文中的含义有所不同?
答案1
但是什么使 TortoiseGit 成为客户端?它不与服务器通信(我只在本地使用 Git),我猜它真正通信的唯一对象是 git.exe,那么 git.exe 是“服务器”,而 TortoiseGit 是“客户端”吗?
这样描述的一个原因是 TortoiseGit 来自 TortoiseSVN,而 SVN 中没有本地存储库 - 本地 svn.exe 工具如果不与服务器通信就无法执行很多操作,因此它自然是一个“SVN 客户端”,虽然 TortoiseGit 可以更加自给自足,但这个术语仍然保留了下来。
但从用户的角度来看,TortoiseGit 处于相同的它与 git.exe 属于同一类别,因为它可以与 Git 远程存储库通信,因此它与 git.exe 一样都是“Git 客户端”。它是否依赖外部 git.exe 命令并不重要 - 它只是一个“幕后”实现细节,不会影响程序的整体用途。
(同样,尽管 git.exe 本身依赖 ssh.exe 或 plink.exe 与远程 Git SSH 服务器建立 SSH 连接,但它也被描述为 Git 客户端。)