如何使用http模块

创建一个简单的http模块

http 模块主要用来搭建 HTTP 服务器,用 Node 搭建 HTTP 服务器简单;

第一步:导入node内置的http模块,并定义一个变量去接收它

const http = require('http')

第二步:设置一个端口号,在我看来就像给我们的模块设置一个身份信息,我们到时候会通过这个端口号来找到它

const port = 3255

第三步:调用 http 模块的 createServer() 方法,创建一个服务器实例;要传入两个参数

require参数:表示浏览器向服务器请求的内容

response参数:表示服务器向浏览器响应的内容

const server= http.createServer((require,response) => {

    console.log("来请求了,请求方式是"+require.method);

    console.log("来请求了,请求路径是"+require.url);

之后我们要设置状态码,关于状态码我们要好好说一下:

当浏览者访问一个网页时,浏览者的浏览器会向网页所在服务器发出请求。当浏览器接收并显示网页前,此网页所在的服务器会返回一个包含 HTTP 状态码的信息头(server header)用以响应浏览器的请求。

HTTP 状态码的英文为 HTTP Status Code。。

下面是常见的 HTTP 状态码:

  • 200 - 请求成功
  • 301 - 资源(网页等)被永久转移到其它URL
  • 404 - 请求的资源(网页等)不存在
  • 500 - 内部服务器错误

 我们直接把状态码设置为

response.statusCode = 200;

 然后设置响应头

response.setHeader('Content-Type', 'text/plain;charset=UTF-8')

最后设置响应体

设置响应体:真正返回给浏览器的内容

 response.end('陈子唯')

设置完服务器之后,我们要开启服务器

server.listen(port,()=>{

    console.log(`服务器已经运行了 端口号是多少:${port}/`);

})

完整代码如下:

// 导入node内置的http模块
// 定义一个变量
const http = require('http')

// 设置端口号port

const port = 3255

// 调用http模块的creatServe方法
// require参数:表示浏览器向服务器请求的内容
// response参数:表示服务器向浏览器响应的内容

const server= http.createServer((require,response) => {
  
    console.log("来请求了,请求方式是"+require.method);
    console.log("来请求了,请求路径是"+require.url);
    // 设置响应状态码为200
    response.statusCode = 200
    // 设置响应头
    response.setHeader('Content-Type', 'text/plain;charset=UTF-8')
    
    //设置响应体:真正返回给浏览器的内容
     response.end('陈子唯')

})

//开启服务器
server.listen(port,()=>{
    console.log(`服务器已经运行了 端口号是多少:${port}/`);
})

 用http模块完成一个狗狗管理的小案例,就是【写狗狗管理项目的后端接口】

 要求实现的功能:每次刷新页面 都能在页面上随机渲染一条狗狗

第一步:创建一个文件夹 “狗狗接口”

第二步 把之前写的狗狗管理案例的data文件夹和module文件夹复制到接口文件中

 然后在于data module平级的地方 新建一个js文件夹

 编写代码部分

第一步自然都是导入http模块

const http = require('http')

第二步导入自定义狗狗模块

const dog = require('./module/dog')

第三步创建服务器

const serve = http.createServer((require,response) =>{

    // 设置相应状态码
    response.statusCode=200

    // 设置相应头
    response.setHeader('Content-Type','text/plain;charset=UTF-8')

    // 根据请求方式以及请求地址设置相应的内容
    if(require.method == 'GET'&& require.url == '/randomDog'){

        // 调用狗狗管理模块中读取狗狗方法
        dog.readDog((data) =>{

            // 生成随机下标
            const index =Math.floor(Math.random() * data.length)

            // 根据随机下标,获取一条随机狗狗,并渲染到页面上
            response.end(data[index])
        })
    }else{
        response.end('我是其他页面')
    }

})

最后开启服务器

// 开启服务器
serve.listen(8800,()=>{
    console.log('服务器已经运行了');
})

但是如果想服务器正常运行还有一个小步骤

我们要把之前引入的自定义狗狗模块传入回调函数才可以方便调用

完整连贯代码

// 导入http模块
const http = require('http')


// 导入自定义狗狗模块
const dog = require('./module/dog')

// 创建服务器
// req:request 请求的参数
// res:response 相应的参数
const serve = http.createServer((require,response) =>{

    // 设置相应状态码
    response.statusCode=200

    // 设置相应头
    response.setHeader('Content-Type','text/plain;charset=UTF-8')

    // 根据请求方式以及请求地址设置相应的内容
    if(require.method == 'GET'&& require.url == '/randomDog'){

        // 调用狗狗管理模块中读取狗狗方法
        dog.readDog((data) =>{

            // 生成随机下标
            const index =Math.floor(Math.random() * data.length)

            // 根据随机下标,获取一条随机狗狗,并渲染到页面上
            response.end(data[index])
        })
    }else{
        response.end('我是其他页面')
    }

})
// 开启服务器
serve.listen(8800,()=>{
    console.log('服务器已经运行了');
})

运行效果如下

轻映录屏 2022-11-15 10-56-20

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值