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服务器

用nodejs搭建简易的HTTP服务器声明:本文主要参考 Node入门 http://www.nodebeginner.org/index-zh-cn.html,向此电子书的作者Manuel Kies...
  • u013553529
  • u013553529
  • 2017年02月27日 01:35
  • 2305

Node.js学习(11)----HTTP服务器与客户端

Node.js 标准库提供了 http 模块,其中封装了一个高效的 HTTP 服务器和一个简易的HTTP 客户端。http.Server 是一个基于事件的 HTTP 服务器,它的核心由 Node.js...
  • gexiuhua
  • gexiuhua
  • 2013年10月08日 16:00
  • 19708

nodejs 原生代码实现http 服务器和客户端并交互

服务器:   var http = require("http"); //提供web服务 var url = require("url"); //解析GET...
  • dai_jing
  • dai_jing
  • 2015年08月05日 11:15
  • 2816

nodejs入门01__创建http服务器

安装好node之后 新建一个js文件app.js,写入创建http服务得代码: var http = require('http'); http.createServer(function(re...
  • weixin_36185028
  • weixin_36185028
  • 2018年01月09日 23:48
  • 24

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

1.      构建HTTP服务器 1.1   简单程序 var http= require('http'); varserver = http.createServer(); server....
  • u011442266
  • u011442266
  • 2014年08月18日 11:35
  • 679

如何使用nodeJS搭建http服务器

作者本身也是刚接触nodejs,所以在知识面方面还存在很多漏洞。         nodejs下载地址:http://nodejs.org/        在Window下面安装的...
  • xiaozhenzhenlaopo
  • xiaozhenzhenlaopo
  • 2016年10月08日 16:10
  • 260

NodeJS的核心模块http服务器端

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

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

☆ 引子var http = require('http');http.createServer(function(request, response){ response.writeHead...
  • oneqinglong
  • oneqinglong
  • 2017年05月14日 16:34
  • 1162

nodejs-构建http服务器

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

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

由于不做php相关的东西,懒得装apache,干脆利用nodejs搭建一个本地的服务器用于测试,对做前端的介入后端简直就是一把利器。而且目前,nodejs也越来越有火,身为一个前端,如果你说你不懂No...
  • wcslb
  • wcslb
  • 2016年11月30日 21:54
  • 1301
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:http服务器(nodejs)
举报原因:
原因补充:

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