海外服务器商-什么是客户端和服务器端?

客户端服务器端是描述应用程序代码运行位置的 Web 开发术语。Web 开发人员还将这种区别称为前端与后端,尽管客户端/服务器端和前端/后端并不完全相同。在无服务器架构中,无服务器供应商将资源托管并分配给所有服务器端进程,并且这些进程会随着应用程序使用量的增加而扩展。

什么是客户端-服务器模型?

大部分 Internet 都是基于客户端-服务器模型。在此模型中,用户设备通过网络与位于中心的服务器进行通信以获取所需的数据,而不是相互通信。膝上型电脑、智能手机和台式计算机等终端用户设备被视为服务器的“客户端”,就好像它们是从公司获得服务的客户一样。客户端设备向服务器发送网页或应用程序请求,服务器提供响应。

使用客户端-服务器模型是因为服务器通常比用户设备更强大、更可靠。它们还不断维护并保存在受控环境中,以确保它们始终处于开启状态和可用状态;尽管个别服务器可能会出现故障,但通常有其他服务器支持它们。同时,用户可以打开和关闭自己的设备,或者丢失或损坏自己的设备,不会影响其他用户的互联网服务。

服务器可以同时服务多个客户端设备,每个客户端设备在访问和浏览互联网的过程中向多个服务器发送请求。

多个客户端和服务器交互:

海外服务器商-什么是客户端和服务器端?-南华中天

每个客户端将与多个服务器通信,反之亦然。

假设用户正在浏览 Internet,并在他们的浏览器栏中键入“netflix.com”。这导致向DNS服务器请求netflix.com的IP 地址,DNS 服务器通过将 IP 地址提供给浏览器来响应此请求。接下来,用户的浏览器向 Netflix 服务器(使用 IP 地址)发出请求以获取页面上显示的内容,例如电影缩略图、Netflix 徽标和搜索栏。Netflix 服务器将其传递给浏览器,浏览器将页面加载到客户端设备上。

客户端是什么意思?

在 Web 开发中,“客户端”是指 Web 应用程序中显示或发生在客户端(最终用户设备)上的所有内容。这包括用户看到的内容,例如文本、图像和 UI 的其余部分,以及应用程序在用户浏览器中执行的任何操作。

HTML 和 CSS 等标记语言由客户端的浏览器解释。此外,许多当代开发人员正在他们的应用程序架构中包含客户端进程,而不再在服务器端做所有事情。例如,动态网页的业务逻辑*通常在现代 Web 应用程序中运行客户端。客户端进程几乎总是用 JavaScript 编写的。

在上面的 netflix.com 示例中,指示 Netflix 主页如何呈现给用户的 HTML、CSS 和 JavaScript 由客户端的浏览器解释。该页面还可以响应“事件”:例如,如果用户的鼠标悬停在其中一个电影缩略图上,则图像会展开,并且相邻的缩略图会稍微向一侧移动,以便为更大的图像腾出空间。这是客户端进程的示例;网页中的代码本身会响应用户的鼠标并启动此操作,而无需与服务器通信。

客户端也称为前端,尽管这两个术语并不完全相同。客户端仅指进程运行的位置,而前端是指运行客户端的各种进程。

*动态网页是不会为所有用户显示相同内容并根据用户输入进行更改的网页。Facebook主页是动态页面;Facebook 登录页面大部分是静态的。

服务器端是什么意思?

就像客户端一样,“服务器端”意味着发生在服务器上的所有事情,而不是客户端。过去,几乎所有的业务逻辑都运行在服务器端,包括渲染动态网页、与数据库交互、身份认证和推送通知。

在服务器端托管所有这些进程的问题在于,涉及其中一个的每个请求每次都必须从客户端一直传输到服务器。这引入了大量的延迟。出于这个原因,当代应用程序在客户端运行更多的代码;一个用例是通过在浏览器中运行脚本来实时呈现动态网页,这些脚本可以更改用户看到的内容。

与“前端”和“客户端”一样,后端也是发生在服务器上的进程的术语,尽管后端仅指进程的类型,而服务器端指的是进程运行的位置。

什么是客户端脚本?什么是服务器端脚本?

客户端脚本仅仅意味着在客户端设备上运行脚本,例如 JavaScript,通常在浏览器中。用 JavaScript 编写的各种脚本都可以在客户端运行,因为 JavaScript 是普遍支持的。只有当用户的浏览器支持时,才能使用其他脚本语言。

服务器端脚本在服务器而不是客户端上运行,通常是为了向网页提供动态内容以响应用户操作。服务器端脚本不必用 JavaScript 编写,因为服务器可能支持多种语言。

脚本在客户端和服务器端运行:

海外服务器商-什么是客户端和服务器端?-南华中天

数据在客户端和服务器之间来回传递,脚本可以在双方运行。

服务器端进程如何在无服务器架构中工作?

在无服务器计算中,所有服务器端或后端进程仍然在服务器而不是客户端设备上运行,但它们并未部署在任何特定的服务器或一组服务器上。后端进程被分解成的功能,这按需运行,并自动扩大。开发人员仍然可以在无服务器架构中构建通常在服务器端运行的所有功能。