nodejs

/**
 * Created by linyunfu on 2017/4/13.
 */
var http=require('http'),
    url=require('url'),
    fs=require('fs');
var server1=http.createServer(function(req,res){
    //解析客户端请求地址中文件目录名称以及数据内容
    var urlObj=url.parse(req.url,true),
        pathname=urlObj["pathname"],
        query=urlObj["query"],
        reg=/\.(HTML|JS|CSS|JSON|TXT|ICO|JPG|PNG|GIF|BMP)/i;
    if(reg.test(pathname)){
         var suffix=reg.exec(pathname[1].toUpperCase());
    //     根据后缀名,获取到当前文件的类型
        var suffixMIME='text/plain';
        switch(suffix){
            case "HTML":
                suffixMIME="text/html";
                break;
            case "CSS":
                suffixMIME="text/css";
                break;
            case "JS":
                suffixMIME="text/javascript";
                break;
            case "JSON":
                suffixMIME="application/json";
                break;
            case "ICO":
                suffixMIME="application/octet-stream";
                break;
        }
        //都是字符串格式的
        try{

            var confile=fs.readFileSync("."+pathname,"utf-8");
            //重写响应头信息:告诉客户端浏览器,我返回的内容的格式
            res.writeHead(200,{'content-type':suffixMIME+'charset=utf-8;'});
            res.end(confile);
        }
        catch (e){
            res.writeHead(404,{'content-type':'text/plain;charset=utf-8;'});
            res.end('request loser')
        }

    }
    //如果客户端请求的资源文件不存在(防止服务终止)
    try{
        var con=fs.readFileSync("."+pathname,'utf-8');
        res.end(con);
    }catch (e){
        res.end("request file is not find");
    }
});
server1.listen(1234,function(){
    console.log("1234");
});
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值