3、扩展
到此,node.js处理get和post请求的小例子就做完了。现在,应该和过去的语言对比找关系,编织知识网了。
3.1模块
每种语言都提供了一定的“基础设施”或者叫“基础工具”,比如java/c++的类库。node也提供了很多模块、函数、常用工具等,引入的位置在Demo的最上方,看到模块的名字基本上就能猜到它的功能。
比如:
var http=require('http');
var url=require('url');
var util=require('util');3.2Web服务器
Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。
大致的架构逻辑是:Browser——>Web Server——>Application Server——>DB。
web服务器、客户端实例:
需要引入http模块,使用createServer方法创建。
注意:这里就不详细介绍了,只说明主要流程。
1)Server
//创建http服务器
http.createServer( function (request, response) {
// 解析请求,包括文件名
var pathname = url.parse(request.url).pathname; // 从文件系统中读取请求的文件内容,
fs.readFile(pathname.substr(1), function (err, data) {
// 响应文件内容
response.write(data.toString());
}
// 发送响应数据
response.end();
});
}).listen(8081);
// 控制台会输出以下信息
console.log('Server running at http://127.0.0.1:8081/');
2)Client
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();
执行server.js,

然后执行client.js,然后就可以获得index.html的内容了。










