夜鹰教程网-程序员的加油站
 当前位置:文章中心 >> NodeJs视频教程
Node.js Web 模块
夜鹰教程网 来源:www.yyjcw.com 日期:2018-6-2 18:50:45
Node.js Web 模块


什么是 Web 服务器?

Web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。

大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。

目前最主流的三个Web服务器是Apache、Nginx、IIS。

Web 应用架构

Web 应用架构

Client - 客户端,一般指浏览器,浏览器可以通过 HTTP 协议向服务器请求数据。

Server - 服务端,一般指 Web 服务器,可以接收客户端请求,并向客户端发送响应数据。

Business - 业务层, 通过 Web 服务器处理应用程序,如与数据库交互,逻辑运算,调用外部程序等。

Data - 数据层,一般由数据库组成。

使用 Node 创建 Web 服务器

Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端,使用 HTTP 服务器或客户端功能必须调用 http 模块,代码如下:

var http = require('http');

以下是演示一个最基本的 HTTP 服务器架构(使用8081端口),创建 server.js 文件,代码如下所示:

var http = require('http');

var fs = require('fs');

var url = require('url');



// 创建服务器

http.createServer( function (request, response) {  

   // 解析请求,包括文件名

   var pathname = url.parse(request.url).pathname;

   

   // 输出请求的文件名

   console.log("Request for " + pathname + " received.");

   

   // 从文件系统中读取请求的文件内容

   fs.readFile(pathname.substr(1), function (err, data) {

      if (err) {

         console.log(err);

         // HTTP 状态码: 404 : NOT FOUND

         // Content Type: text/plain

         response.writeHead(404, {'Content-Type': 'text/html'});

      }else{         

         // HTTP 状态码: 200 : OK

         // Content Type: text/plain

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

         

         // 响应文件内容

         response.write(data.toString());

      }

      //  发送响应数据

      response.end();

   });   

}).listen(8081);


// 控制台会输出以下信息

console.log('Server running at http://127.0.0.1:8081/');

接下来我们在该目录下创建一个 index.htm 文件,代码如下:

<html>

<head>

<title>Sample Page</title>

</head>

<body>

Hello World!

</body>

</html>

执行 server.js 文件:

$ node server.js

Server running at http://127.0.0.1:8081/

接着我们在浏览器中打开地址:http://127.0.0.1:8081/index.htm,显示如下图所示:


执行 server.js 的控制台输出信息如下:

Server running at http://127.0.0.1:8081/

Request for /index.htm received.     #  客户端请求信息

Gif 实例演示


使用 Node 创建 Web 客户端

Node 创建 Web 客户端需要引入 http 模块,创建 client.js 文件,代码如下所示:

var http = require('http');


// 用于请求的选项

var options = {

   host: 'localhost',

   port: '8081',

   path: '/index.htm'  

};


// 处理响应的回调函数

var callback = function(response){

   // 不断更新数据

   var body = '';

   response.on('data', function(data) {

      body += data;

   });

   

   response.on('end', function() {

      // 数据接收完成

      console.log(body);

   });

}

// 向服务端发送请求

var req = http.request(options, callback);

req.end();

新开一个终端,执行 client.js 文件,输出结果如下:

$ node client.js

<html>

<head>

<title>Sample Page</title>

</head>

<body>

Hello World!

</body>

</html>

执行 server.js 的控制台输出信息如下:

Server running at http://127.0.0.1:8081/

Request for /index.htm received.   # 客户端请求信息


复制链接 网友评论 收藏本文 关闭此页
上一条: Node.js Express 框架 文件上传等…  下一条: Node.js 工具模块
夜鹰教程网成立于2008年,目前已经运营了将近 13 年,发布了大量关于 html5/css3/C#/asp.net/java/python/nodejs/mongodb/sql server/android/javascript/mysql/mvc/easyui/vue/echarts原创教程。 我们一直都在坚持的是:认证负责、一丝不苟、以工匠的精神来打磨每一套教程,让读者感受到作者的用心。我们默默投入的时间,确保每一套教程都是一件作品,而不是呆板的文字和视频! 目前我们推出在线辅导班试运营,模式为一对一辅导,教学工具为QQ。我们的辅导学科包括 java 、android原生开发、webapp开发、商城开发、C#和asp.net开发,winform和物联网开发、web前端开发,但不仅限于此。 普通班针对的是国内学员,例如想打好基础的大学生、想转行的有志青年、想深入学习的程序员、想开发软件的初学者或者业余爱好者等。 就业办针对即将毕业上岗的大四学生,或者打算转行的初级开发工程师。 留学生班针对的是在欧美、加拿大、澳洲、日本、韩国、新加坡等地留学的中国学子,目的是让大家熟练地掌握编程技能,按时完成老师布置的作业,并能顺利地通过考试。 详细咨询QQ:1416759661   夜鹰教程网  基于角色的权限管理系统(c-s/b-s)。
  夜鹰教程网  基于nodejs的聊天室开发视频教程
  夜鹰教程网  Git分布式版本管理视频教程
  夜鹰教程网  MVC+EasyUI视频教程
  夜鹰教程网  在线考试系统视频教程
  夜鹰教程网  MongoDB视频教程。
  夜鹰教程网 Canvas视频教程
  夜鹰教程网 报表开发视频教程
  热点推荐
在Windows系统下搭建SVN服务器
宽带连接速度慢
在iis下设置伪静态的规则和方法
Oralce 9i安装OID目录服务器说明
需要停止的windows 2003 server服…
.htaccess文件设置技巧16则
Apache SSL证书安装指南
linux下手工修改分区后的挂载
MSN服务器为什么不放置在中国境内…
自定义MIME类型 网络空间支持FLV
稳定的国外网站服务器对SEO排名没…
Windows下定期自动备份网站软件—…
实战讲解:从零开始配置Linux服务器…
IIS错误代码及其含义
服务器领域众“菜鸟”们的几个常见…
  最近更新
nodejs文件上传代码
nodejs如何设置允许跨域请求
npm 项目更换目录后无法启动
Git常用命令学习
Node.js 连接 MongoDB
Node.js JXcore 打包
Node.js 多进程详解
Node.js RESTful API
Node.js Express 框架 文件上传等…
Node.js Web 模块
Node.js 工具模块
Node.js GET/POST请求
Node.js 文件系统
Node.js 常用工具函数
Node.js 全局对象

关于我们 | 网站建设 | 技术辅导 | 常见问题 | 联系我们 | 友情链接

夜鹰教程网 版权所有 www.yyjcw.com All rights reserved 备案号:蜀ICP备08011740号3