• Node.js之http模块


    http模块是什么?
    http 模块是 Node,js 官方提供的、用来创建 web 服务器的模块。通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台Web 服务器,从而对外提供 Web 资源服务。

    如果我们想在node.js当中使用http模块需要做什么?
    我们需要导入http模块

    const http = require("http")
    
    • 1

    使用http模块创建基础的web服务器

    基本步骤
    1.导http 模块
    2.创建 web 服务器实例
    3.为服务器实例绑定request 事件,监听客户端的请求
    4.启动服务器

    // 1.导http 模块
    const http = require("http")
    // 2.创建 web 服务器实例
    const sever = http.createSever()
    // 3.为服务器实例绑定request 事件,监听客户端的请求
    // 使用on绑定事件有两个参数 绑定的事件 回调函数 第一个参数为request请求 第二个参数为response响应
    sever.on("request",(request,response)=>{
        console.log(1)
    })
    // 4.启动服务器
    // 第一个参数是端口号 第二个参数是回调函数
    sever.listen("80",()=>{
        console.log(2)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    我们在终端输出,先输出2
    在这里插入图片描述
    然后我们去浏览器输入127.0.0.1
    在这里插入图片描述
    事件监听到了输出1
    在这里插入图片描述

    req请求对象

    只要服务器接收到了客户端的请求,就会调用通过 server.on() 为服务器绑定的 request 事件处理函数如果想在事件处理函数中,访问与客户端相关的数据或属性,可以使用如下的方式:
    req.ur1 是客户端请求的 URL 地址
    req.method 是客户端的 method 请求类型

    const http = require("http")
    const server = http.createServer()
    server.on("request",function(req,res){
        // 请求之后打印结果
        console.log(req.url) //   打印/
        console.log(req.method) // GET
    })
    server.listen(80,()=>{
        console.log(1)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    res响应对象

    在服务器的 request 事件处理函数中,如果想访问与服务器相关的数据或属性,可以使用如下的方式:

    const http = require("http")
    const server = http.createServer()
    server.on("request",function(req,res){
        const str = "我是向客户端响应的内容"
        // 向客户端发送指定的内容,并结束这次请求的处理过程
        res.end(str)
    })
    server.listen(80,()=>{
        console.log(1)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    在这里插入图片描述
    我们发现乱码了,我们该如何处理?

    const http = require("http")
    const server = http.createServer()
    server.on("request",function(req,res){
        const str = "我是向客户端响应的内容"
        // 为了防止中文显示乱码的问题,需要设置响应头 Content-Type 的值为 text/html;  charset=utf-8
        res.setHeader("Content-Type","text/html;charset=utf-8")
        res.end(str)
    })
    server.listen(80,()=>{
        console.log(1)
    })
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在这里插入图片描述

    感谢大家的阅读,如有不对的地方,可以向我提出,感谢大家!

  • 相关阅读:
    大数据技术Spark详解
    G1D4-软考中级《项目集成管理》-下午真题
    301. 删除无效的括号
    什么是媒体邀约?如何邀约效果好
    权限系统设计学习总结(5)—— 权限系统设计全面总结
    路由跳转时的页面状态保存
    鸿鹄工程项目管理系统em Spring Cloud+Spring Boot+前后端分离构建工程项目管理系统
    01-Gin框架路由
    HBase2.x(十一)HBase 读流程
    springboot+网络空间安全实验教学中心门户网站 毕业设计-附源码191220
  • 原文地址:https://blog.csdn.net/m0_74577714/article/details/134505279