web基本服务器的创建和注意事项

web基本服务器创建步骤:

1.导入http模块

如果想要在自己的电脑上创建一个web服务器,从而对外提供web服务,则需要导入http模块

2.创建web服务器实例

调用http.createServer()方法,即可快速创建一个web服务器

3.绑定request事件

为服务器实例绑定request事件,即可监听客户端发送过来的网络请求

4.启动服务器

调用服务器.listen()方法,即可启动

// 1.导入http模块
const http=require("http")
// 2.创建web服务器实例
const server=http.createServer()
// 3.为服务器实例绑定request事件,监听客户端的请求
server.on("request",function(req,res){
    console.log("Someone visit our web server.");
})
// 启动服务器
server.listen(8080, function () {
    console.log("server running at http://127.0.0.1:8080")
})
   

(以上内容在新建一个后缀名为.js的文件vscode终端运行)

了解req的请求对象:

const http=require("http")
const server=http.createServer()
// req是请求对象,包含了与客户端相关的数据和属性
server.on("request",(req,res)=>{
   // req.url是客户端请求的url地址 
   const url=req.url
    //req.method是客户端请求的methoud类型 
    const method=req.method
    const str=`Your request url is ${url},and request method is ${method}`
    console.log(str);
    
    // 调用res.end()方法,向客户端响应一些内容
    res.end(str)
})
server.listen(80,()=>{
    console.log("server running at http://127.0.0.1");
})

解决防中文乱码问题:

const http=require("http")
const server=http.createServer()
server.on("request",(req,res)=>{
    // 定义一个字符串,包含中文的内容
    const str=`您请求的url地址是${req.url},请求的method类型为${req.method}`
    // 调用res.setHeader()方法,设置Content-Type响应头,解决中文乱码问题
    res.setHeader("Content-Type","text/html; charset=utf-8")
    // res.end()将内容响应给客户端
    res.end(str)
})
server.listen(80,()=>{
    console.log("server running at http://127.0.0.1");
})

根据不同的url响应不同的html内容:

(注意:运行在80端口号下,可省略http://127.0.0.1后的":80")

const http=require("http")
const server=http.createServer()
server.on("request",(req,res)=>{
// 1获取请求的url地址
const url=req.url
// 2设置默认的响应内容为404 Not found
let content="<h1>404 Not found!</h1>"
// 3判断用户请求的是否为/或/index.html首页
// 4判断用户请求的是否为/about.html关于页面
if(url==="/"||url==="/index.html"){
    content="<h1>首页</h1>"
}else if(url==="/about.html"){
    content="<h1>关于首页</h1>"
}
// 5设置Content-Type响应头,防止中文乱码
res.setHeader("Content-Type","text/html;charset=utf-8")
// 6使用res.end()把内容响应给客户端
res.end(content)
})
server.listen(80,()=>{
    console.log("server running at http://127.0.0.1");
})

在vscode通过ctrl+shift+、即可打开终端,ctrl+鼠标左键可点击终端运行后的地址看请求后的效果

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值