node中http模块的使用(代码片段)

老张在线敲代码 老张在线敲代码     2023-01-01     494

关键词:

在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.js中http核心模块,至于核心模块是什么,我会在接下来的章节中和大家解释,也欢迎大家持续关注我的前端Node.js的学习之旅。http 查看详情

node入门教程(12)第十章:node的http模块(代码片段)

...Node初衷就是为了高性能的Web服务器去的,所以:Node的HTTP模块也是核心的核心。本文需要您了解的前置知识点:HTTP协议Web请求模型:请求→处理→响应Node的流、事件http模块的客户端要使用HTTP服务器与客户端,需要 requi... 查看详情

node.js模块(代码片段)

目录模块fs文件系统模块path路径模块http模块IP地址域名和域名服务器端口号创建web服务器的基本步骤根据不同的url响应不同的html内容模块fs文件系统模块fs模块是Node.js官方提供的、用来操作文件的模块。它提供了一系列的方法和... 查看详情

node自定义模块(代码片段)

每一个nodejs文件就是一个模块,每一个模块就是一个nodejs文件,一般这个模块会返回一个对象,这个对象包含了这个模块的所有操作方法和属性现在自己封装一个自定义的模块,使用箭头函数lethttp=require('http')letstart=()=>l... 查看详情

node.js中net模块node实现tcp通信(代码片段)

node.js中net一、net模块感知:net模块用于创建基于TCP(或IPC)通信的服务器或客户端,它是nodejs内置模块,直接使用require(‘net’)的方式引入,类似http模块。二、创建一个tcp服务器://1.引入net模块constne... 查看详情

node.js学习day01初识node.js与内置模块(代码片段)

...做什么能够说出Node.js中的JavaScript的组成部分能够使用fs模块读写操作文件能够使用path模块处理路径能够使用http模块写一个基本的web服务器文章目录学习目标一、初识node.js1.1初识node1.1.1浏览器中的JavaScript的组成部分:1.1.2为... 查看详情

node中的模块系统(代码片段)

...cripta语言和浏览器不一样,在Node中没有BOM、DOM②核心模块文件操作的fshttp服务的httpurl路径操作模块path路径处理模块os操作系统信息 ③第三方模块art-template必须通过npm来下载才可以使用④自己写的模块2.Node中采用的是commonJS... 查看详情

node中glob模块(代码片段)

...glob允许使用规则,从而获取对应规则匹配的文件node的glob模块允许你使用*等符号,来写一个glob规则,像在shell里一样,获取匹配对应规则文件 安装npminstallglob引用constglob=require(‘glob‘) glob的三个参数:1、需要进行匹配... 查看详情

入手node最好的文章---第二部分(代码片段)

CodeIsNeverDie!http模块1.什么是http模块在网络节点中,负责消费资源的电脑,叫做客户端;负责对外提供网络资源的电脑,叫做服务器。http模块是Node.js官方提供的、用来创建web服务器的模块。通过http模块提供的http.c... 查看详情

node中如何引入一个模块及其细节(代码片段)

...需引入即可直接使用,并且无处不见,它们构成了nodejs的模块体系:module与require。以下是一个简单的示例constfs=require(‘fs‘)constadd=(x,y)=>x+ymodule.exports=add复制代码虽然它们在平常使用中仅仅是引入与导出模块,但稍稍深入,便... 查看详情

node基础1--初识node.js与内置模块(代码片段)

初识Node.js与内置模块1.初识Node.js什么是Node.jsNode.js中的JavaScript运行环境Node.js的学习计划Node.js环境的安装2.fs文件系统模块2.1什么是fs文件系统模块2.2读取指定文件中的内容2.3向指定的文件中写入内容案例-考试成绩整理3.path路径... 查看详情

node中的http模块(代码片段)

web服务器什么是Web服务器?当应用程序(客户端)需要某一个资源时,可以向一个台服务器,通过Http请求获取到这个资源;提供资源的这个服务器,就是一个Web服务器;目前有很多开源的Web服务器:Nginx、Apache(静态)、ApacheTom... 查看详情

七初始express(代码片段)

...web开发框架。通俗的理解:Express的作用和Node.js内置的http模块类似,是专门用来创建web服务器的。Express的本质:就是一个npm上的第三方包,提供了快速创建web服务器的便捷方法。Express的中文官网:https://www.expressjs.com.cn/1.2、进... 查看详情

nodehttp服务(代码片段)

//node中专门提供了一个核心模块:http//http这个模块的职责就是帮你创建编写服务器//1、加载http核心模块varhttp=require(‘http‘);//2、使用createServer()方法创建一个web服务器//返回一个Server实例varserver=http.createServer();//3、服务器用来... 查看详情

node-流浅析(代码片段)

...念流(stream)是Node.js中处理流式数据的抽象接口。stream模块用于构建实现了流接口的对象。Node.js提供了多种流对象。例如,HTTP服务器的请求和process.stdout都是流的实例。流可以是可读的、可写的、或者可读可写的。所有的流都... 查看详情

mac中nvm的安装和使用(代码片段)

...wwj/article/details/72805671npmls-g--depth=0#查看已经安装在全局的模块,以便删除这些全局模块后再按照不同的node版本重新进行全局安装sudorm-rf/usr/local/lib/node_modules#删除全局node_modules目录sudorm/usr/local/bin/node#删除nodecd/usr/local/bin&&ls... 查看详情

node响应中文时解决乱码问题(代码片段)

...可以在app.js中这样写//代码块:node-http-server//表示引入http模块varhttp=require(‘http‘);/*request获取客户端传过来的信息response给浏览器响应信息*/http.createServer(function(request,response)//设置响应头response.writeHead(200,‘ 查看详情

node中的模块引入机制(代码片段)

1.如果模块在当前目录下,可以通过下面语句将模块引入进来,注意需要使用"./"表示当前路径constcurrency=require(‘./currency‘);←----用路径./表明模块跟程序脚本放在同一目录下2.如果模块在当前目录的子目录下,可以加上子目录的... 查看详情