HttpServer使用

const fs = require('fs')
const http = require('http')
const zlib = require('zlib') // 压缩
const createReadStream = fs.createReadStream('./test.html') // 读取文件流
// 充当客户端向远程地址发起请求
http.get('http://nodejs.cn/api/http.html', (res)=>{
    console.log(res.statusCode);
    let rawData = ''
    res.on('data', (chunk)=> { // 获取服务端响应的数据
        rawData += chunk
    })
    res.on('end', ()=> {
        console.log(rawData.toString());
    })
})
// 充当服务器
const app = http.createServer()
app.on('request', (req,res)=> {
    console.log(req.url);
    console.log(req.method);
    console.log(req.headers);
    /*响应头,200*/
    res.writeHead(200,{
        'Content-Type' : 'text/html;application/json;charset=utf-8'
    })
    res.write('')
    res.end()
    /*响应头,302*/
    res.writeHead(302,{
        Location: 'http://www.baidu.com'
   })
   res.end()
    /*响应头,404*/
    res.writeHead(404)
    res.write('404')
    res.end()
    /*响应体内容:普通文本*/
    res.write('<h1>nodejs中文</h1>')
    res.end()
    /*响应体内容:文件*/
    let file = fs.readFileSync('./test.html')
    res.write(file)
   	res.end()
   	/*使用gzip压缩*/
     res.writeHead(200,{
        'Content-Type' : 'text/html;application/json;charset=utf-8',
        'Content-Encoding': 'gzip'
    })
    const gzip = zlib.createGzip()
    createReadStream.pipe(gzip).pipe(res) // 通过管道压缩后进行响应发送
})
app.listen(8080)


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值