Node.js资源

2022-04-22 14:13:17 浏览数 (1)

静态资源

服务器端不需要处理,可以直接响应给客户端的资源就是静态资源,例如CSS、JavaScript、image文件。

代码语言:javascript复制
const http = require('http');
const url = require('url');
const path = require('path');
const fs = require('fs');
const mime = require('mime');

const app = http.createServer();

app.on('request', (req, res) => {
    // 获取用户的请求路径
    let pathname = url.parse(req.url).pathname;

    pathname = pathname == '/' ? '/default.html' : pathname;

    // 将用户的请求路径转换为实际的服务器硬盘路径
    let realPath = path.join(__dirname, 'public'   pathname);

    let type = mime.getType(realPath)

    // 读取文件
    fs.readFile(realPath, (error, result) => {
        // 如果文件读取失败
        if (error != null) {
            res.writeHead(404, {
                'content-type': 'text/html;charset=utf8'
            })
            res.end('文件读取失败');
            return;
        }

        res.writeHead(200, {
            'content-type': type
        })

        res.end(result);
    });
});

app.listen(3000);
console.log('服务器启动成功')

动态资源

相同的请求地址不同的响应资源,这种资源就是动态资源。

客户端请求途径

GET方式

浏览器地址栏

link标签的href属性

script标签的src属性

img标签的src属性

Form表单提交

POST方式

Form表单提交

0 人点赞