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

 更新时间:2021年09月13日 10:28:44   作者:老张在线敲代码  
http这个模块的职责就是帮你创建编写服务器,接下来通过本文给大家介绍node中http模块的使用及执行流程,感兴趣的朋友一起看看吧

在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模块内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • nodejs实现爬取网站图片功能

    nodejs实现爬取网站图片功能

    给大家通过一个实例来教学如何用nodejs实现爬取网站图片功能,有兴趣的朋友收藏一下吧。
    2017-12-12
  • 基于Node.js的WebSocket通信实现

    基于Node.js的WebSocket通信实现

    这篇文章主要介绍了基于Node.js的WebSocket通信实现,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-03-03
  • Node.js assert断言原理与用法分析

    Node.js assert断言原理与用法分析

    这篇文章主要介绍了Node.js assert断言原理与用法,结合实例形式分析了assert模块断言函数与使用技巧,需要的朋友可以参考下
    2019-01-01
  • export default 和 export 的使用方式示例详解

    export default 和 export 的使用方式示例详解

    这篇文章主要介绍了export default 和 export 的使用方式,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-08-08
  • NodeJS连接MySQL数据库并进行增删改查操作详解

    NodeJS连接MySQL数据库并进行增删改查操作详解

    本篇是使用NodeJS的模块MySQL操作MySQL数据库的基础教程,连接MySQL数据库并进行增删改查操作详解,需要的朋友可以参考下
    2024-02-02
  • 详解离线安装npm包的几种方法

    详解离线安装npm包的几种方法

    这篇文章主要介绍了详解离线安装npm包的几种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-11-11
  • 在Node.js中使用TypeScript的方法示例

    在Node.js中使用TypeScript的方法示例

    在前端开发中,随着TypeScript的不断普及,越来越多的开发者使用TypeScript进行开发,然而,在后端开发中,在Node.js中使用 TypeScript还是相对较少见的,这篇文章将介绍如何在Node.js中配置TypeScript ,以及如何使用TypeScript来开发高质量的应用程序
    2023-06-06
  • Node.js插件安装图文教程

    Node.js插件安装图文教程

    Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。本文给大家介绍Node.js插件安装的教程,非常实用,特此分享给大家,需要的朋友一起学习吧
    2016-05-05
  • mocha的时序规则讲解

    mocha的时序规则讲解

    今天小编就为大家分享一篇关于mocha的时序规则讲解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-02-02
  • 浅析Node.js查找字符串功能

    浅析Node.js查找字符串功能

    今天做项目的时候需要的一个问题,想查找一个字符串,但是忘记了,具体在那个文件里了,于是就想起来了node.js,毫无压力的找到了这个字符串,分享给大家
    2014-09-09

最新评论