04-http模块

一、服务器相关概念

    <!-- 1.ip地址 -->
    <!-- 2.域名和域名服务器
        域名(Domain Name)
        域名服务区(Domain Name Server)
    -->
    <!-- 3.端口号
      每个端口号不能同时被多个web服务占用
      在实际应用中,url中的80端口可以被忽略
    -->

二、创建基本的web服务器

//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');
    })
    //4.启动服务器
server.listen(8080, function() {
    console.log('server running at http://127.0.0.0:8080');
})

三、了解req请求对象

const http = require('http')

const server = http.createServer()
    //req是请求对象 包含了与客户端相关的数据和属性
server.on('request', (req, res) => {
    //req.url是客户端请求的url地址
    const url = req.url
        //req.method是客户端请求的method类型
    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 = `您请求的地址是${req.url},请求的方式为${req.method}`
    res.setHeader('Content-Type', 'text/html;charset=utf-8')
    res.end(str)
})

server.listen(80, () => {
    console.log('server running at http://127.0.0.1');
})

五、根据不同的url响应不同的html内容

const http = require('http')
const fs = require('fs')
const path = require('path')
    //创建web服务器
const server = http.createServer()
server.on('request', (req, res) => {
    //获取到客户端请求的url地址
    const url = req.url
        //把请求的url地址 映射为本地文件的存放路径
        //const fpath = path.join(__dirname, '../' + url)
    let fpath = ''
    if (url === '/') {
        fpath = path.join(__dirname, '../index.html')
    } else {
        fpath = path.join(__dirname, '../' + url + 'index.html')
    }
    console.log(fpath);
    fs.readFile(fpath, 'utf-8', (err, dataStr) => {
        if (err) {
            return res.end('404 Not Found!')
        }
        res.end(dataStr)
    })
})
server.listen(80, () => {
    console.log('server listen at http://127.0.0.1');
})
posted @ 2024-05-30 15:24  _你听得到  阅读(4)  评论(0)    收藏  举报