(九) 响应内容类型 Content-Type

本文介绍了HTTP响应头中的Content-Type作用,探讨了不设置Content-Type导致的乱码问题及其解决方案。通过代码示例展示了如何设置Content-type以发送不同类型的数据,包括普通文本和HTML,并讲解了如何响应HTML页面进行页面渲染。最后提到了类型对照表的链接以及在HTML meta标签中设置内容类型的效果。
摘要由CSDN通过智能技术生成

1. 不设置 Content-type

var http = require('http')
var server = http.createServer()
server.listen(8000, () => {
  console.log('server is running at 8000')
})
server.on('request', (req, res) => {
  if (req.url === '/') {
    var person = {
      age: 23,
      name: 'zfb'
    }
    // 响应数据必须是字符串 JSON.stringify
    res.end(JSON.stringify(person))
  } else if (req.url === '/reginser') {
    res.end('注册')
  } else {
    res.end('默认')
  }
})

运行:发现乱码了

乱码原因:

服务端发送的数据,默认是 utf-8 编码的内容,但是浏览器解析的时候不知道是 utf-8的内容,浏览器在不知道编码的情况下会按照当前操作系统的默认编码去解析,而中文的默认编码是 gbk。也就是说,我跟你说汉语,而你去英文字典里去查,语言没有统一,这就是乱码情况的出现。

解决方法:

告知浏览器我给你发送的内容是以什么编

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值