您的位置:首页 > 游戏 > 游戏 > 无锡华庄行业网站建设_最近北京疫情最新消息_软文推广策划方案_软文广告经典案例200字

无锡华庄行业网站建设_最近北京疫情最新消息_软文推广策划方案_软文广告经典案例200字

2025/4/27 18:42:53 来源:https://blog.csdn.net/qq_34645412/article/details/147372599  浏览:    关键词:无锡华庄行业网站建设_最近北京疫情最新消息_软文推广策划方案_软文广告经典案例200字
无锡华庄行业网站建设_最近北京疫情最新消息_软文推广策划方案_软文广告经典案例200字

在 Node.js 中设置响应的 MIME 类型是为了让浏览器正确解析服务器返回的内容,比如 HTML、CSS、图片、JSON 等。我们通常通过设置响应头中的 Content-Type 字段来完成。


✅ 一、什么是 MIME 类型(Content-Type)?

MIME(Multipurpose Internet Mail Extensions)类型用于告诉浏览器或客户端:返回的数据是什么类型的内容

例如:

  • text/html:HTML 文件
  • application/json:JSON 数据
  • text/css:CSS 样式表
  • image/png:PNG 图片

✅ 二、手动设置 MIME 类型示例

const http = require('http');
const fs = require('fs');
const path = require('path');// 常见扩展名与 MIME 类型的映射表
const mimeTypes = {'.html': 'text/html','.css':  'text/css','.js':   'application/javascript','.json': 'application/json','.png':  'image/png','.jpg':  'image/jpeg','.gif':  'image/gif','.svg':  'image/svg+xml','.ico':  'image/x-icon','.txt':  'text/plain',
};const server = http.createServer((req, res) => {let filePath = '.' + (req.url === '/' ? '/index.html' : req.url);let ext = path.extname(filePath);// 默认 MIME 类型let contentType = mimeTypes[ext] || 'application/octet-stream';fs.readFile(filePath, (err, data) => {if (err) {res.writeHead(404, { 'Content-Type': 'text/plain' });return res.end('404 Not Found');}res.writeHead(200, { 'Content-Type': contentType });res.end(data);});
});server.listen(3000, () => {console.log('Server running on http://localhost:3000');
});

✅ 三、使用第三方模块 mime

如果你不想维护 MIME 映射表,可以使用官方推荐的 mime 模块。

安装:

npm install mime

使用:

const mime = require('mime');
const filePath = 'public/style.css';
const contentType = mime.getType(filePath); // 返回 'text/css'

✅ 常用 MIME 类型一览

扩展名MIME 类型
.htmltext/html
.csstext/css
.jsapplication/javascript
.jsonapplication/json
.pngimage/png
.jpgimage/jpeg
.gifimage/gif
.svgimage/svg+xml
.txttext/plain
.pdfapplication/pdf

✅ 四、注意事项

  • Content-Type告诉浏览器怎么处理数据的关键;
  • MIME 类型必须与实际资源类型匹配,否则浏览器可能拒绝渲染或报错;
  • 若未设置 Content-Type,浏览器可能会猜测类型,但这不安全;
  • 返回 JSON 时推荐:
    res.writeHead(200, { 'Content-Type': 'application/json' });
    res.end(JSON.stringify({ message: 'hello' }));
    

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com