-2

我试图更好地理解这个概念。服务器端编程的重点是让我们与他人交流吗?无论是获取新想法还是获取由于信息过多而无法本地存储在客户端的数据?

4

2 回答 2

2

有几种典型的软件架构:

  • 非联网应用程序(不通信,仅限客户端)
  • 服务器-客户端应用程序(通常具有一个或多个中央服务器,以及与服务器联系的多个客户端)
  • 对等应用程序(仅具有相互通信的客户端)。

在这里,客户端通常是在用户计算机上执行的应用程序的一部分,用户正在与之交互。服务器被定义为用户不直接交互的应用程序的一部分,并且不在他的计算机上而是在其他地方。这种分离可能出于多种原因:数据大小、数据安全性、数据可用性或简单的协调。

例如,当您在网络浏览器上访问 Google 时,网络浏览器就是客户端。谷歌是服务器。您的计算机不知道 Web 上的所有内容在哪里;但谷歌有一个很好的主意。

再比如,你玩魔兽世界这样的MMORPG,你的游戏是客户端,暴雪的电脑是服务器;你告诉服务器你在做什么,服务器告诉你结果,就像纸笔游戏大师一样。没有服务器,您将无法知道其他人在做什么。

或者,如果您想咨询美国海军天文台的原子钟,同样,您是客户端,时钟是服务器;你联系它是因为,很明显,你不知道正确的时间,它确实知道。

现在,例如,您可能会说在某些情况下可能不需要服务器。比如在MMORPG的情况下,玩家之间就不能直接联系吗?第一个问题是可发现性:他们如何在 Internet 上找到彼此?必须有一些中心位置来告诉每个人其他人的地址。但如果这就是服务器所做的一切,您将不得不联系所有在线玩家(并且有很多其中)问他们在哪里,如果他们在同一张地图上,经常问他们同样的问题;您的互联网连接将无法做到这一点。还需要考虑安全性:服务器通过更改游戏代码并告诉其他玩家虚假值来确保(或应该确保)你没有在地图上传送。例如,如果客户负责记住一个玩家有多少金币,那么很快变得非常富有将是微不足道的:只是对别人撒谎。

于 2015-07-14T01:50:31.403 回答
1

当您访问 Internet 上的网站时,您的浏览器是读取 HTML/CSS/JavaScript 的解释器。要阅读这些,您的浏览器必须首先下载代码,然后对其进行解释,然后将其显示给您。由于您的网络浏览器会下载代码,因此您很容易看到它。(如下所示)。客户端代码

这对于博客、信息网站、项目页面等小型项目非常有用。但是假设您在一个大项目上非常努力,并且您不希望人们看到您的代码。在客户端编程中,网络浏览器读取代码并显示它。如果您右键单击并保存静态(仅 HTML、CSS、JavaScript)网站,即使您关闭互联网也可以查看它。在服务器端编程中,您的网络浏览器无法读取代码,因为代码不是通常的 HTML/CSS/JavaScript。由于您的网络浏览器无法读取代码,因此它会查看服务器(它是位于很远很远的数据中心的一台巨型计算机)。服务器为网络浏览器做所有事情,只返回结果。Web 浏览器有结果,但不知道服务器如何处理它们,所以它显示结果,但不

这很棒,因为首先,您所有的代码逻辑都是私下发生的,这对于安全和隐私至关重要。而且,它发生得非常快。由于服务器是一台比您的服务器快得多的大型计算机,因此您网站的所有逻辑都得到了非常快速的处理。此外,您可以与数据库进行通信并存储数据,而在客户端编程中,一切都发生在您的机器上并且仅在您的机器上发生。基本上你的代码有记忆的能力。

本质上,您将使用客户端编程来处理信息、样式和小型项目。客户端通常被称为前端开发,因为它是用户看到的(前端)。后端开发(服务器端)是后台逻辑,是幕后发生的一切,用户看不到也不应该看到。如果您正在制作一些大型网站,并且您在其中有用户帐户,那么您不能只将他们的用户/密码存储在 javascript 变量中,因为 a) 每个人都可以看到代码,因此,用户信息和 b ) 他们的用户/通行证将在他们关闭页面后立即消失。服务器端通信为我们打开了更多的大门。

于 2015-07-14T02:04:18.290 回答