Node.js - 禁用浏览器的Javascript

时间:2015-02-02 13:17:42

标签: javascript node.js server-side

例如,如果浏览器已禁用javascript,node.js是否仍然有效,或者是否需要回退?

我知道这可能是一个愚蠢的问题,但我试图向朋友证明node.js在服务器端工作并且不依赖于客户端。

3 个答案:

答案 0 :(得分:1)

正如@frédéric-hamidi指出的那样运行一个节点服务器然后卷曲它:

<强>的NodeJS

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('I don\'t need js on the browser!');
}).listen(80);

<强>壳

curl http://web-07081482-2b2c-4e1b-9b1c-9ab20dccb92c.runnable.com/

你可以告诉他这个演示:

http://runnable.com/VM9-XCkU5E06W8gl/nodejs-so-for-node-js-and-hello-world

答案 1 :(得分:0)

你已经说过了。节点代码在托管应用程序的服务器上解释,而不是在客户端上解释。

您可以通过从已禁用JS的浏览器接收来自节点的服务器的响应来向您的朋友证明。

答案 2 :(得分:0)

即使浏览器禁用了JavaScript(或者开始时也不支持),Node.js本身也会继续工作。它是服务器端环境,因此与浏览器无关。它在客户端甚至可以看到页面之前完成它的工作(或者如果您正在执行这些操作,则执行AJAX响应)。

Node.js无法绕过浏览器的JavaScript设置,但对任何服务器端开发环境都是如此。如果您在Node.js中创建依赖于客户端来计算某些内容并将其发回的内容,那么如果浏览器禁用了JavaScript,那么 将无法正常工作。所以你必须要小心,不要忘记客户端的代码和服务器端的代码,当两种类型的代码使用相同的语言时,稍微更难,但仍然不是很难。只要你这样做,你就没事了。

就个人而言,我最喜欢的这类演示是使用telnet ,正如@FredericHamidi所提到的那样。比telnet更难以获得更多的功能,因为它几乎不会对你产生任何影响:没有JavaScript,没有CSS,甚至没有HTML。甚至没有HTTP,真的;它不能自己构造请求,所以你必须手动输入它(如果你坚持使用HTTP / 0.9和GET请求你的演示,这不是很糟糕,但我不建议任何更复杂的请求那)。对于未经训练的眼睛,看起来你正在攻击机器。 但Node.js仍会运行,即使您在基本上可能是最简单的客户端上运行