哈罗~~大家好!!星期五好愉快~~马上进入主题吧!!
今天要介绍的是使用NodeJs建立後端的服务器。
首先NodeJS的後端服务器会依照前端所发送的请求而返回特定的数据
。
像是最常见的例子,我们在前端输入帐号密码,而传送到NodeJS服务器验证输入的帐号密码是否正确,确认是正确的後,就会传回登入成功的讯息。
而HTTP模块主要是Node的核心模块,HTTP提供了request
和response
对象。
例子:
//HTTP服务器
var http=require("http");
var sever=http.createServer((req,res)=>
{
res.end("Hello My name is Nicole !");
});
sever.listen(3000);
使用creatSever()
去创建HTTP服务器,
范例中的req就是 request
的缩写,它是请求目标,可以得知所有HTTP中要请求的讯息
;
而res就是response
的缩写,它是响应目标,可以把HTTP要响应或反馈讯息传给浏览器,而它们就是请求监听器
。
使用res.end()
从後端发送讯息内容给前端
。
sever.listen()
使服务器运行并监听前端的请求,
至於里面的端口号只要不使用0~1023(因为是保留端口)
都可以随意设定,而这里我设置了3000。
执行结果:
接下来打开浏览器,输入127.0.0.1:3000
。
输入127.0.0.1是因为执行在於本机(就是自己本身的电脑IP),亦或是可以输入localhost
,而冒号後输入端口号。
可以参考资料: localhost - 维基百科,自由的百科全书 (wikipedia.org)
结果显示出从後端送出的字串。
这样一个HTTP服务器就创建好了!
当HTTP的请求会触发connection和request这两个事件。
例子:
//监听来自客户端事件
var http=require("http");
var server=http.createServer((req,res)=>
{
res.writeHead(200,{'Content-Type':'text/plain'});
res.end("Hello my name is Nicole!!");
});
server.on("connection",(req,res)=>
{
console.log("connection is ready!!");
});
server.on("request",(req,res)=>
{
if(req.url!=="/favicon.ico")//取消/favicon.ico
{
console.log("request");
// console.log(req.url);
res.end();
}
});
server.listen(1600);
执行结果:
这边还是有点不懂的地方是为何connection会执行了两次?
有神人可以请教嘛!会非常感谢您的!
至於request也会被执行两次,其中有一次是/favicon.ico
的请求,
但是我取消了/favicon.ico的请求,所以执行结果才只出现一次request!
更多favicon的参考资料:Favicon - 维基百科,自由的百科全书 (wikipedia.org)
另外,当要停止服务器时,在终端机按下[ctrl]+C
即可停止。
每当有修改过程序码後,不能和在JavaScript一样按下重新整理就可以更新,
在Node必须要整个浏览器重启才行!!不然怎麽按重新整理都还是停留在一开始的状态哦!
>>: 【从零开始的Swift开发心路历程-Day13】打造自己的私房美食名单Part2
如果你有专案,有作品,通常一定会问你这类题目,而且你的回答很重要,千万要小心作答! 以我自身的例子...
进场大修的一天,拿了包高血压药。在候诊间持续debug人生XD 依旧先上个进度图: + mkdir ...
大家好,这里是 A Fei,今天是铁人赛开赛第二天,也是连假开始前的小周末,在这先祝各位读者中秋佳节...
资料流模型将运算任务描述成一个"有向无环图",节点表示资料运算和储存,节点之间的...
在玩AR APP时都有一个拍照功能,本次章节会介绍如何撰写Unity的截图功能 先在Project新...