http服务器(nodejs)

原创 2015年07月07日 11:53:57

Nodejs的http服务器的构建

var PORT = 8888;

var http = require('http');
var url=require('url');
var fs=require('fs');
var mine=require('./custom').types;
var path=require('path');

var server = http.createServer(function (request, response) {
    console.log( url.parse(request.url) );
    var pathname = url.parse(request.url).pathname;
    var realPath = path.join("project", pathname);
    console.log(realPath);
    var ext = path.extname(realPath);
    ext = ext ? ext.slice(1) : 'unknown';
    fs.exists(realPath, function (exists) {
        if (!exists) {
            response.writeHead(404, {
                'Content-Type': 'text/plain'
            });

            response.write("This request URL " + pathname + " was not found on this server.");
            response.end();
        } else {
            fs.readFile(realPath, "binary", function (err, file) {
                if (err) {
                    response.writeHead(500, {
                        'Content-Type': 'text/plain'
                    });
                    response.end(err);
                } else {
                    var contentType = mine[ext] || "text/plain";
                    response.writeHead(200, {
                        'Content-Type': contentType
                    });
                    response.write(file, "binary");
                    response.end();
                }
            });
        }
    });
});
server.listen(PORT);
console.log("Server runing at port: " + PORT + ".");

custom.js是自己定义的一些文件类型,代码如下

exports.types = {
  "css": "text/css",
  "gif": "image/gif",
  "html": "text/html",
  "ico": "image/x-icon",
  "jpeg": "image/jpeg",
  "jpg": "image/jpeg",
  "js": "text/javascript",
  "json": "application/json",
  "pdf": "application/pdf",
  "png": "image/png",
  "svg": "image/svg+xml",
  "swf": "application/x-shockwave-flash",
  "tiff": "image/tiff",
  "txt": "text/plain",
  "wav": "audio/x-wav",
  "wma": "audio/x-ms-wma",
  "wmv": "video/x-ms-wmv",
  "xml": "text/xml"
};

相关文章推荐

NodeJS——创建最简单的HTTP服务器

☆ 引子var http = require('http');http.createServer(function(request, response){ response.writeHead...

nodejs-构建http服务器

nodejs-构建http服务器因为工作需要所以上手了node,对于nodejs不需要服务器去处理请求觉得非常神奇,然后决定自己试一下搭建一个http服务器入口文件app.js:var server ...

NodeJS的核心模块http服务器端

HTTP服务器http.Server是http模块中的HTTP服务器对象,它提供了一套封装级别很低的API,仅仅是流控制和简单的消息解析,所有的高层功能都要通过它的接口来实现。 http.creat...

nodejs (四) 构建HTTP服务器和客户端

1.      构建HTTP服务器 1.1   简单程序 var http= require('http'); varserver = http.createServer(); server....

多种HTTP服务器:Misultin, Mochiweb, Cowboy, NodeJS 及 Tornadoweb测评

我对HTTP服务器很感兴趣,我花了大量时间来试用它们,还喜欢从不同角度来比较它们。 今天我将用同一个用例对以下不同的HTTP服务器库进行测试: Misultin (Erlang) Mochiweb...

使用nodejs搭建本地http服务器——李帅醒博客

由于不做php相关的东西,懒得装apache,干脆利用nodejs搭建一个本地的服务器用于测试,对做前端的介入后端简直就是一把利器。而且目前,nodejs也越来越有火,身为一个前端,如果你说你不懂No...
  • wcslb
  • wcslb
  • 2016年11月30日 21:54
  • 1082

NodeJS与多核HTTP服务器

译自:http://developer.yahoo.net/blog/archives/2010/07/multicore_http_server_with_nodejs.html(稍有修改), ...
  • yczz
  • yczz
  • 2011年11月26日 17:04
  • 5682

一个用nodejs写的简单http服务器

参考书目《了不起的Nodejs》

一个简单的零配置命令行HTTP服务器 - http-server (nodeJs)

原文地址http://www.cnblogs.com/lucker/p/4108838.html 一个简单的零配置命令行HTTP服务器 - http-server (nodeJs) ...

C++ REST SDK开发HTTP服务器

  • 2017年10月26日 17:59
  • 44.93MB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http服务器(nodejs)
举报原因:
原因补充:

(最多只允许输入30个字)