本文介绍: http 模块是 Node,js 官方提供的、用来创建 web 服务器模块通过 http 模块提供的 http.createServer() 方法,就能方便的把一台普通的电脑,变成一台Web 服务器,从而对外提供 Web 资源服务我们需要导入http模块

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

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

const http = require("http")

使用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)
})

我们终端输出,先输出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)
})

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)
})

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

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)
})

在这里插入图片描述

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

原文地址:https://blog.csdn.net/m0_74577714/article/details/134505279

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_25538.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注