您当前的位置:首页 > 网站建设 > javascript
| php | asp | css | H5 | javascript | Mysql | Dreamweaver | Delphi | 网站维护 | 帝国cms | React | 考试系统 | ajax |

node中http模块的使用及执行流程

51自学网 2022-05-02 21:31:47
  javascript

在node中http有什么作用

http这个模块的职责就是帮你创建编写服务器

执行流程

 1. 加载http模块

const http = require('http')

2. 使用http.createServer方法创建一个web服务器 返回一个server实例

const server = http.createServer()

3.提供对数据的服务

发请求
接受请求
处理请求
返回(发送响应)
注册request请求事件,当客户端请求过来就会自动触发request请求事件然后就会执行第二个参数执行回调函数

server.on('request',function(){    console.log('收到客户端的请求了')})

4.绑定端口号,启动服务器

server.listen(3000,()=> {    console.log("服务器启动成功了,可以通过http://127.0.0.1:3000/来访问了")})

5. node app.js启动成功

打开浏览器复制粘贴http://127.0.0.1:3000/就会发现浏览器一直在转圈(此时已经与浏览器建立了链接),同时终端返回收到客户端的请求了,关闭终端ctrl+c则会终止浏览器服务((浏览器就不转圈了,终止连接了))

搭建一个基本的web服务器请求

代码如下:

const http = require('http')const server = http.createServer()// request请求事件处理函数需要接收俩个参数// request请求对象// 请求对象可以获取客户端的一些请求信息,例如请求路径// response响应对象// 响应对象可以用来给客户端发送响应消息server.on('request',function(request,response){    console.log('收到客户端的请求了','请求路径是:'+request.url)    // response对象有一个方法,write可以用来给客户端发送响应数据    // write可以使用多次,但是最后一次一定要用end来结束响应,否则客户端会一直等待    response.write("hello ")    response.write("nodejs")    response.end()    //告诉客户端我的话说完了你可以给用户看了    //由于现在我们的服务器能力很弱,无论是什么请求都只能响应hello nodejs    // 怎么做到请求不同的路径响应不同的结果})server.listen(3000,()=> {    console.log("服务器启动成功了,可以通过http://127.0.0.1:3000/")})

接下来就是编写一个基本的接口数据用来请求

判断在不同的页面显示不同的数据
首页数据

在这里插入图片描述

a页面数据
…与首页不同的数据

const http = require("http")const server = http.createServer()server.on('request',function(req,res){    res.writeHead(200,{'Content-Type':'text/plain;charset=utf-8'})    console.log("收到请求了,请求路径是:"+req.url)    // res.write("heel")    // res.write("world")    // res.end()    // 上面的方式比较麻烦    //可以使用end的时候发送响应    // 根据不同的请求路径发送不同的请求结果    //1. 获取请求的路径    // req.url获取到的是端口号之后的路径    // 也就是说所有的url都是以/开头的    //2. 判断路径处理响应    const url = req.url    if(url=="/"){        const project = [           {            name:"苹果",            price:"18",           },           {            name:"香蕉",            price:"28",           },           {            name:"西瓜",            price:"20",           },           {            name:"xxx",            price:"100",           },           {            name:"aaa",            price:"100",           }        ]        // 响应数据只能是二进制数据或者是字符串        // 响应数据如果是以下的则不行:数字对象数组布尔值                res.end(JSON.stringify(project))    }else if(url=='/a'){        const a = [            {             name:"苹果",             price:"aa",            },            {             name:"香蕉",             price:"ww",            },            {             name:"西瓜",             price:"vv",            },            {             name:"wjcx",             price:"bb",            },            {             name:"wdwa",             price:"ww",            }         ]         res.end(JSON.stringify(a))    }})server.listen(3000,function(){    console.log("服务器启动成功,可以访问啦!http://127.0.0.1:3000/")})

到此这篇关于node中http模块的使用的文章就介绍到这了,更多相关node http模块内容请搜索wanshiok.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持wanshiok.com!


Vue3 之 Vue 事件处理指南
浅谈ElementUI el-select 数据过多解决办法
51自学网,即我要自学网,自学EXCEL、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。
京ICP备13026421号-1