什么是客户端JavaScript和服务器端JavaScript?

17

有人可以解释一下什么是服务端JavaScript和客户端JavaScript吗?

因为我最近听说了Livewire JavaScript是服务端的,Navigator JavaScript是客户端的。

请有人解释一下它们之间的区别。


2
如果您想知道为什么有人会使用服务器端JS,可以查看https://dev59.com/KHRB5IYBdhLWcg3w77sn - Preets
什么是 livewire JavaScriptnavigator JavaScript - Timo
Netscape Navigator是90年代末期流行的浏览器。Livewire JavaScript是一种服务器端JavaScript解释器,可在Netscape品牌的Web服务器上运行。这可能是从Yahoo答案之类的地方转载的,因为这些技术在2000年后就不太常用了。 - Michael Mullany
8个回答

27

JavaScript主要有三种类型:

  1. 客户端JavaScript(CSJS)-- 扩展版本的JavaScript,使网页和客户端浏览器得以增强和操作

  2. 服务器端JavaScript(SSJS)-- 扩展版本的JavaScript,使后端可以访问数据库、文件系统和服务器

  3. 核心JavaScript -- 基本的JavaScript语言

客户端JavaScript(CSJS)和服务器端JavaScript(SSJS)依赖于核心JavaScript,没有核心JavaScript它们无法正常工作。

来源


10

在现代网络中,JavaScript 绝大部分都是客户端的(是的,这个统计数字是我凭空想象的)。

话虽如此, JavaScript 只是另一种语言。在旧时代,曾经有过 Netscape 企业服务器(NES),它允许使用 JavaScript 进行脚本编写。

现代 Web 服务器支持像 PHP、Python 等脚本语言的编写。很不幸,JavaScript 在服务端并不普及。但它是我遇到过最美丽的语言:具有 C 语言的语法和 Lisp 的强大功能。

JavaScript 的传统客户端用法指的是在 Web 上的使用。如果你足够聪明地问起了 ssjs,我相信你已经对 Web 上的 JavaScript 有所了解。

但是,JavaScript 还有一些非传统的用途:

  • 然而,Qt 在其框架中发现了 JavaScript 的用处。可以编写 Qt 应用程序以通过用 JavaScript 编写的插件进行扩展。我认为这很酷。
  • 还有 Rhino,它将 JavaScript 编译成 Java。

干杯!


4
这是非常古老的内容,所以没有提到Node.js,但未来的用户应该查阅有关服务器端JavaScript的Node.js文章。 - Gaurav
2
随着服务器端JS的增长,这个答案并没有真正过时。 - shuttle87

6

客户端脚本与服务器端脚本

客户端脚本 服务器端脚本
在用户电脑上运行,即浏览器解释脚本 在Web服务器上运行
源代码对用户可见。 源代码对用户不可见,因为服务器端程序的输出是HTML页面。
用于验证和处理用户事件的功能 用于业务逻辑和从数据库中访问数据。页面是动态创建的。
依赖于浏览器和版本。 不依赖于客户端。可以使用任何服务器端技术。

您可以在这里查看详细信息。


3

客户端JavaScript使用户交互变得可能,例如更改DOM、向HTML元素添加事件等。

另一方面,服务器端JavaScript允许利用JavaScript的全部功能构建更可扩展、事件驱动和非I/O阻塞的应用程序。 NodeJs是服务器端JavaScript环境的一个例子。

此外,通过这种方式,客户端和后端开发人员学习JavaScript的难度降低,因为两者都使用同一种语言。


3

一个在浏览器中运行(客户端),另一个在服务器上运行。人们通常认为JavaScript只能在浏览器中运行-这是错误的。当我还是经典ASP开发人员时,我们可以选择使用VBScript或JavaScript在服务器端(我们还可以选择在客户端使用JavaScript或VBScript)。


3

这两个术语是与Web相关的。客户端指的是JavaScript代码在客户机上运行,也就是浏览器中运行。服务器端JavaScript则是指代码在提供Web页面的服务器上运行。


1
我相信没有比JavaScript更适合作为客户端脚本语言的流行语言了。至于作为服务器端语言,类似Java(在许多服务器上工作,但最受欢迎的是Apache Tomcat)、C#和Python,JavaScript也可以用作服务器端语言,最好的例子是Node.js(同样,Node还需要在服务器上安装Node包才能运行脚本)。
对于您的问题,navigator是客户端JS,可以在浏览器上工作,而Livewire则在服务器上工作。
“Netscape Navigator 2.0(以及以后的版本)可以解释嵌入HTML页面中的JavaScript语句。当Navigator请求这样的页面时,服务器将完整的文档内容,包括HTML和JavaScript语句,通过网络发送到客户端。然后Navigator显示HTML并执行JavaScript,产生用户看到的结果。”
“LiveWire是一个应用程序开发环境,使用JavaScript创建类似于CGI(通用网关接口)程序的基于服务器的应用程序。与Navigator JavaScript相比,LiveWire JavaScript应用程序被编译为字节码可执行文件。这些应用程序可执行文件与包含LiveWire服务器扩展的Netscape服务器(版本2.0及以上)一起运行。” 信息来源

-4

客户端 JavaScript 包括基本语言和预定义对象,这些对象与在浏览器中运行 JavaScript 相关。客户端 JavaScript 直接嵌入 HTML 页面中。此脚本在运行时由浏览器解释。

服务器端 JavaScript 也类似于客户端 JavaScript。它具有相关的 JavaScript,用于在服务器上运行。服务器端 JavaScript 脚本仅在编译后部署。服务器端 JavaScript(SSJS)是一种使后端访问数据库、文件系统和服务器的 JavaScript。


1
此信息不准确且具有误导性(“客户端 JavaScript 直接嵌入 HTML 页面中”...) - Noy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接