欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Node.js Web 模块

程序员文章站 2022-03-26 22:40:35
大多数 web 服务器都支持服务端的脚本语言(php、python、ruby)等,并通过脚本语言从数据库获取数据,将结果返回给客户端浏览器。 目前最主流的三个Web服务器是Apache、Nginx、IIS。 使用node创建服务器 Node.js 提供了 http 模块,http 模块主要用于搭建 ......

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

目前最主流的三个web服务器是apache、nginx、iis。

 

使用node创建服务器

node.js 提供了 http 模块,http 模块主要用于搭建 http 服务端和客户端,使用 http 服务器或客户端功能必须调用 http 模块

演示一个最基本的 http 服务器架构(使用 8080 端口)

创建 main.js 文件

var http=require("http");
var fs=require("fs");
var url=require("url");

//创建服务器
http.createserver(function(req,res){
    //解析请求的文件名
    var pathname=url.parse(req.url).pathname;
    //被请求的文件已收到请求
    console.log("被请求的文件"+pathname+"已收到请求");

    //读取文件内容  
    //pathname.substr(1) 去掉.
    fs.readfile(pathname.substr(1),function(err,data){
        if(err){
            console.log(err);
            res.writehead(404,{"content-type":"text/html"});// http 状态码: 404 : not found
        }else{          
            res.writehead(200,{"content-type":"text/html"});// http 状态码: 200 : ok
            res.write(data.tostring());
        }
        res.end();
    })
}).listen(8080);

console.log("server running at http://127.0.0.1:8080/");

该目录下创建一个 index.html 文件

<!doctype html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <title>index</title>
</head>
<body>
    <h1>标题</h1>
    <p>段落</p>
</body>
</html>

Node.js Web 模块

 

 在浏览器中打开地址:http://127.0.0.1:8080/index.html

Node.js Web 模块

 

 Node.js Web 模块

 

 

使用node创建web客户端

client.js

var http=require("http");

//用于请求的选项
var options={
   host:"localhost",
   port:"8080",
   path:"/index.html" 
};

//处理响应的回调函数
var callback=function(res){
    var body="";
    res.on("data",function(data){
        body+=data;
    })
    res.on("end",function(){
        console.log(body);
    })
}

//向服务器发送请求
var req=http.request(options,callback);
req.end();

Node.js Web 模块

 

 (我把前面服务器文件main.js改为了server.js)

然后新开一个终端,运行client.js

Node.js Web 模块

 

 

再回来看第一个终端

Node.js Web 模块

 

 

成功~