[Node.js]web模块
摘要
什么是web服务器?
web服务器一般指网站服务器,是指驻留于因特网上某种类型计算机的程序,Web服务器的基本功能就是提供Web信息浏览服务。它只需支持HTTP协议、HTML文档格式及URL,与客户端的网络浏览器配合。
大多数 web 服务器都支持服务端的语言(php、python、ruby,asp.net)等,并通过语言从数据库获取数据,将结果返回给客户端浏览器。
目前最主流的三个Web服务器是Apache、Nginx、IIS。
使用Node创建web服务器
Node.js 提供了 http 模块,http 模块主要用于搭建 HTTP 服务端和客户端。引入http模块
//引入http模块 var http=require("http");
创建web服务器
创建server.js文件,内容如下:
//引入http模块 var http=require("http"); //引入fs模块 var fs=require("fs"); //引入url模块 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 response.writeHead(404,{"Content-Type":"text/html"}); }else{ response.writeHead(200,{"Content-Type":"text/html"}); //响应文件内容 response.write(data.toString()); }; response.end(); }); }).listen(5544); console.log("Server running at http://127.0.0.1:5544");
启动调试
因为在访问/时,因为在服务器上找不到该文件而报错,在浏览器响应的状态码为404
web服务器
浏览器
接下来,我们创建一个名称为index.html的页面,内容如下:
<html> <head> <title>My first page.</title> </head> <body> <h1>Hello my page world. </h1> </body> </html>
启动server,浏览http://127.0.0.1:5544/index.html
通过Node创建web客户端
创建client.js,代码如下:
var http=require("http"); //用于请求的选项 var options={ host:"127.0.0.1", port:'5544', path:"/index.html" }; //处理响应的回调函数 var callback=function(response){ var body=''; response.on('data',function(data){ body+=data; });
response.on('end',function(){
//数据接收完成
console.log(body);
});
}; //向服务器发送请求 var req=http.createClient(options,callback); req.end();
输出
资料
-
博客地址:http://www.cnblogs.com/wolf-sun/
博客版权:如果文中有不妥或者错误的地方还望高手的你指出,以免误人子弟。如果觉得本文对你有所帮助不如【推荐】一下!如果你有更好的建议,不如留言一起讨论,共同进步! 再次感谢您耐心的读完本篇文章。
分类:
Node.js
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
2015-05-12 win8.1安装VMware Error:This product may not be installed on a comuputer that has Microsoft HyperV installed
2014-05-12 [NHibernate]缓存(NHibernate.Caches)