详解node.js创建一个web服务器(Server)的详细步骤


Posted in Javascript onJanuary 15, 2021

前言

在 node.js 中创建一个服务器非常简单,只需要使用 node.js 为我们提供的 http 模块及相关 API 即可创建一个麻雀虽小但五脏俱全的web 服务器,相比 Java/Python/Ruby 搭建web服务器的过程简单的很。

http model

要想创建一个基于 node.js 的 web 服务器,你就必须使用 node.js 提供的 http 模块,node.js 中的 http 接口旨在支持传统上难以使用的协议的许多特性, 特别是,大块的、可能块编码的消息,接口永远不会缓冲整个请求或响应,用户能够流式传输数据。

为了支持所有可能的 http 应用程序,node.js 的 http API 都非常底层,也就是说所有底层复杂的问题都被 node.js 解决并封装成模块及相关 API 供我们使用,你只需要遵循 node.js 的简洁语法即可上手使用。

创建服务器

首先,你需要引入 http 模块,然后通过相关 API 实现某些功能,下面是一个麻雀虽小但五脏俱全的 node web服务器。

在创建服务器之前,你有必要大概过一遍这两个 API,或者你回过头来再看也可以。

(1)返回一个新建的 http.Server 实例

http.createServer([options][, requestListener])
  • options:<Object>
  • requestListener: <Function>
  • 返回:<http.Server>

(2)启动 HTTP 服务器监听连接

server.listen(port,callback)
  • port:<Number>
  •  端口号callback:<Function> 回调函数
  • 返回:无

(3)屏幕打印字符串(简单使用chunk)

response.write(chunk[, encoding][, callback])
  • chunk:<String> | <Buffer>
  • encoding:<String> 默认值: ‘utf8'。
  • callback:<Function> 回调
  • 返回:<boolean>

hello.js

// 引入核心模块
var http = require('http')

// 创建服务器(API返回的是一个实例)
var server = http.createServer()

// 绑定端口号(3000)
server.listen(3000, () => {
  console.log(`服务器启动成功,等待客户端请求...`)
})

// 监听客户端发起的请求
server.on('request', (request, response) => {
  
  // 客户端请求路径
  console.log(`客户端请求路径为:${request.url}`)

  // 响应给客户端
  switch(request.url){
    
    case '/': {//浏览器默认行为
      response.write(`/`)
      break;
    }

    case '/index': {//首页
      response.write(`/index`)
      break;
    }

    case '/loging': {//登录页
      response.write(`/loging`)
      break;
    }
    
  }

  // 响应完成
  response.end()
  
})

我们已经完成了 hello.js web服务器编写,现在我们启动服务器:

一、打开cmd终端定位到 hello.js 文件目录中(IDE内置终端也可以)

详解node.js创建一个web服务器(Server)的详细步骤

二、启动 hello.js

// 启动命令
node hello.js

详解node.js创建一个web服务器(Server)的详细步骤

显示关键字[服务器启动成功…]即为开启成功,然后打开浏览器准备测试。

三、输入本机 IP 地址,就像这样一个 URL,端口为自己配置的端口,默认8000

详解node.js创建一个web服务器(Server)的详细步骤

详解node.js创建一个web服务器(Server)的详细步骤

测试请求

详解node.js创建一个web服务器(Server)的详细步骤

注意,就算不写 “/” 浏览器也会默认添加。

详解node.js创建一个web服务器(Server)的详细步骤

详解node.js创建一个web服务器(Server)的详细步骤

到此这篇关于详解node.js创建一个web服务器(Server)的详细步骤的文章就介绍到这了,更多相关node.js创建web服务器内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
javascript 设计模式之单体模式 面向对象学习基础
Apr 18 Javascript
解决IE下select标签innerHTML插入option的BUG(兼容IE,FF,Opera,Chrome,Safari)
May 13 Javascript
JS 图片缩放效果代码
Jun 09 Javascript
jquery EasyUI的formatter格式化函数代码
Jan 12 Javascript
推荐10个超棒的jQuery工具提示插件
Oct 11 Javascript
js使用正则实现ReplaceAll全部替换的方法
Aug 22 Javascript
AngularJS入门教程引导程序
Aug 18 Javascript
jQuery制作input提示内容(兼容IE8以上)
Jul 05 jQuery
Node调用Java的示例代码
Sep 20 Javascript
微信小程序icon组件使用详解
Jan 31 Javascript
webpack 开发和生产并行设置的方法
Nov 08 Javascript
vue+express+jwt持久化登录的方法
Jun 14 Javascript
JavaScript中展开运算符及应用的实例代码
Jan 14 #Javascript
js中延迟加载和预加载的具体使用
Jan 14 #Javascript
JS中箭头函数与this的写法和理解
Jan 14 #Javascript
JavaScript this关键字的深入详解
Jan 14 #Javascript
Vue实现多页签组件
Jan 14 #Vue.js
如何在vue中使用HTML 5 拖放API
Jan 14 #Vue.js
Vue中引入svg图标的两种方式
Jan 14 #Vue.js
You might like
随机头像PHP版
2006/10/09 PHP
PHP+MySQL 制作简单的留言本
2009/11/02 PHP
PHP自定义大小验证码的方法详解
2013/06/07 PHP
使用PHP会话(Session)实现用户登陆功能
2013/06/29 PHP
php管理nginx虚拟主机shell脚本实例
2014/11/19 PHP
php开发微信支付获取用户地址
2015/10/04 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
PHP 中魔术常量的实例详解
2017/10/26 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
2019/06/19 PHP
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
JavaScript入门之基本函数详解
2011/10/21 Javascript
Javascript核心读书有感之词法结构
2015/02/01 Javascript
JS基于面向对象实现的拖拽库实例
2015/09/24 Javascript
js显示当前日期时间和星期几
2015/10/22 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
基于jQuery实现瀑布流页面
2017/04/11 jQuery
jquery的 filter()方法使用教程
2018/03/22 jQuery
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
js动态生成表格(节点操作)
2021/01/12 Javascript
Python入门之三角函数全解【收藏】
2017/11/08 Python
解决Shell执行python文件,传参空格引起的问题
2018/10/30 Python
pandas修改DataFrame列名的实现方法
2019/02/22 Python
Python的pygame安装教程详解
2020/02/10 Python
DataFrame.groupby()所见的各种用法详解
2020/06/14 Python
CSS3实现的闪烁跳跃进度条示例(附源码)
2013/08/19 HTML / CSS
一款html5 canvas实现的图片玻璃碎片特效
2014/09/11 HTML / CSS
成人毕业生自我鉴定
2013/10/18 职场文书
大学生入党思想汇报
2014/01/01 职场文书
团委竞选演讲稿
2014/04/24 职场文书
做一个有道德的人演讲稿
2014/05/14 职场文书
房屋租房协议书范本
2014/12/04 职场文书
通知函的格式
2015/04/27 职场文书
幼儿园教师安全责任书
2015/05/08 职场文书
看上去很美观后感
2015/06/10 职场文书
《角的度量》教学反思
2016/02/18 职场文书
甜美蛋糕店的创业计划书模板,拿来即用!
2019/08/21 职场文书