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

 更新时间:2014年12月18日 09:27:55   投稿:junjie  
这篇文章主要介绍了轻松创建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的代码模块化。

相关文章

  • 详解基于node的前端项目编译时内存溢出问题

    详解基于node的前端项目编译时内存溢出问题

    本篇文章主要介绍了基于node的前端项目编译时内存溢出问题,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-08-08
  • Node.js实现大文件断点续传示例详解

    Node.js实现大文件断点续传示例详解

    这篇文章主要为大家介绍了Node.js实现大文件断点续传示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • 详解nodejs模板引擎制作

    详解nodejs模板引擎制作

    本篇文章主要介绍了nodejs模板引擎制作 ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法

    npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法

    这篇文章主要给大家介绍了关于npm安装的全局包/工具不能使用,不是内部/外部命令的解决方法,文中通过图文将解决的方法介绍的非常详细,需要的朋友可以参考下
    2023-03-03
  • 基于nodejs的微信JS-SDK简单应用实现

    基于nodejs的微信JS-SDK简单应用实现

    这篇文章主要介绍了基于nodejs的微信JS-SDK简单应用实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-05-05
  • 详解Wondows下Node.js使用MongoDB的环境配置

    详解Wondows下Node.js使用MongoDB的环境配置

    这篇文章主要介绍了详解Wondows下Node.js使用MongoDB的环境配置,这里使用到了Mongoose驱动来让JavaScript操作MongoDB,需要的朋友可以参考下
    2016-03-03
  • 详解npm 配置项registry修改为淘宝镜像

    详解npm 配置项registry修改为淘宝镜像

    这篇文章主要介绍了详解npm 配置项registry修改为淘宝镜像,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • 使用Node.js搭建Vue项目的详细步骤

    使用Node.js搭建Vue项目的详细步骤

    Vue.js 是一款流行的 JavaScript 框架,而 Node.js 提供了一个强大的运行环境,两者的结合使得开发者可以轻松构建现代化的前端项目,本文将介绍如何使用 Node.js 搭建一个基本的 Vue 项目,需要的朋友可以参考下
    2023-12-12
  • node 利用进程通信实现Cluster共享内存

    node 利用进程通信实现Cluster共享内存

    本篇文章主要介绍了node 利用进程通信实现Cluster共享内存,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-10-10
  • 基于node简单实现RSA加解密的方法步骤

    基于node简单实现RSA加解密的方法步骤

    这篇文章主要介绍了基于node简单实现RSA加解密的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03

最新评论