当前位置: 首页 > 编程笔记 >

轻松创建nodejs服务器(2):nodejs服务器的构成分析

山森
2023-03-14
本文向大家介绍轻松创建nodejs服务器(2):nodejs服务器的构成分析,包括了轻松创建nodejs服务器(2):nodejs服务器的构成分析的使用技巧和注意事项,需要的朋友参考一下

紧接上一节,我们来分析一下代码:

第一行请求(require)Node.js自带的 http 模块,并且把它赋值给 http 变量。

接下来我们调用http模块提供的函数: createServer 。

这个函数会返回一个对象,这个对象有一个叫做 listen 的方法,这个方法有一个数值参数,指定这个HTTP服务器监听的端口号。

为了提高可读性,我们来改一下这段代码。

原来的代码:


var http = require("http");

http.createServer(function(request, response) { 

 response.writeHead(200, {"Content-Type": "text/plain"}); 

 response.write("Hello World"); 

 response.end(); 

}).listen(8888);

可以改写成:


var http = require("http"); 

function onRequest(request, response) { 

 response.writeHead(200, {"Content-Type": "text/plain"}); 

 response.write("Hello World"); 

 response.end();

} 

http.createServer(onRequest).listen(8888);

我们定义了一个onRequest()函数,并将它作为参数传给createServer,类似回调函数。

我们给某个方法传递了一个函数,这个方法在有相应事件发生时调用这个函数来进行回调,我们把这叫做基于事件驱动的回调。

接下来我们看一下onRequest() 的主体部分,当回调启动,我们的 onRequest() 函数被触发的时候,有两个参数被传入: request 和 response 。

request : 收到的请求信息;

response : 收到请求后做出的响应。

所以这段代码所执行的操作就是:

当收到请求时,

1、使用 response.writeHead() 函数发送一个HTTP状态200 和 HTTP头的内容类型(content-type)

2、使用 response.write() 函数在HTTP相应主体中发送文本“Hello World”。

3、调用 response.end() 完成响应。

这样分析,是不是加深了你对这段代码的理解呢?

下一节我们来了解一下,nodejs的代码模块化。

 类似资料:
  • 本文向大家介绍轻松创建nodejs服务器(4):路由,包括了轻松创建nodejs服务器(4):路由的使用技巧和注意事项,需要的朋友参考一下 服务器需要根据不同的URL或请求来执行不一样的操作,我们可以通过路由来实现这个步骤。 第一步我们需要先解析出请求URL的路径,我们引入url模块。 我们来给onRequest()函数加上一些逻辑,用来找出浏览器请求的URL路径: 好了,pathname就是请求

  • 本文向大家介绍轻松创建nodejs服务器(1):一个简单nodejs服务器例子,包括了轻松创建nodejs服务器(1):一个简单nodejs服务器例子的使用技巧和注意事项,需要的朋友参考一下 我们先来实现一个简单的例子,hello world。 似乎每种语言教程的第一节都会讲这个,我们也不例外。 首先我们先创建一个项目目录,目录可自己定义,本案例的目录为 e:/nodetest/。 由于我们要搭建

  • 本文向大家介绍轻松创建nodejs服务器(6):作出响应,包括了轻松创建nodejs服务器(6):作出响应的使用技巧和注意事项,需要的朋友参考一下 我们接着改造服务器,让请求处理程序能够返回一些有意义的信息。 我们来看看如何实现它: 1、让请求处理程序通过onRequest函数直接返回(return())他们要展示给用户的信息。 2、让我们从让请求处理程序返回需要在浏览器中显示的信息开始。 我们需

  • 本文向大家介绍轻松创建nodejs服务器(10):处理POST请求,包括了轻松创建nodejs服务器(10):处理POST请求的使用技巧和注意事项,需要的朋友参考一下 目前为止,我们做的服务器没有实际的用处,接下来我们开始实现一些实际有用的功能。 我们要做的是:用户选择一个文件,上传该文件,然后在浏览器中看到上传的文件。 首先我们需要一个文本区(textarea)供用户输入内容,然后通过POST请

  • 本文向大家介绍轻松创建nodejs服务器(3):代码模块化,包括了轻松创建nodejs服务器(3):代码模块化的使用技巧和注意事项,需要的朋友参考一下 nodejs的功能块大都以模块的形式存在的。 通常会有一个统一入口index.js,然后调用不同的模块来完成我们需要的功能。 我们先来看看怎么把server.js变成一个模块让 index.js 主文件使用。 “http” 是nodejs自带的模块

  • 本文向大家介绍轻松创建nodejs服务器(10):处理上传图片,包括了轻松创建nodejs服务器(10):处理上传图片的使用技巧和注意事项,需要的朋友参考一下 本节我们将实现,用户上传图片,并将该图片在浏览器中显示出来。 这里我们要用到的外部模块是Felix Geisendörfer开发的node-formidable模块。它对解析上传的文件数据做了很好的抽象。 要安装这个外部模块,需在cmd下执