下面是参考<Jquery、Jquery UI 及Jquery Mobile>一书中的nodej服务器程序

var http = require('http'),
url = require('url'),
fs = require('fs');
http.createServer(function (req, res) {
var reqData = {
url: url.parse(req.url, true),
method: req.method,
headers: req.headers },
path = reqData.url.pathname; if(path.match(/^\/[0-9a-z\-]+\.(html)|(json)|(xml)$/))
fs.readFile('.' + path, function (err, data) {
if (err) {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end('not found');
}
else {
if(path.split('.')[1] == 'html')
res.writeHead(200, {'Content-Type': 'text/html'});
else if(path.split('.')[1] == 'xml')
res.writeHead(200, {'Content-Type': 'application/xml'});
else
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(data);
}
});
else if(path == '/return-http-headers') {
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(reqData));
}
else if(path == '/sleep') {
var endTime = new Date().getTime() + 2000;
while (new Date().getTime() < endTime);
res.writeHead(500, {'Content-Type': 'text/plain'});
res.end('slow response');
}
else if(path == '/validate') {
var keys = [];
for(var key in reqData.url.query) {
if(reqData.url.query[key] == '')
keys.push(key);
}
res.writeHead(200, {'Content-Type': 'application/json'});
res.end(JSON.stringify(keys));
}
else if(path == '/redirect') {
res.writeHead(302, {
'Location': '/test-values.json' });
res.end();
}
else if(path == '/fail\-on\-purpose') {
res.writeHead(500, {'Content-Type': 'text/plain'});
res.end('unexpected" error');
}
else {
res.writeHead(404, {'Content-Type': 'text/plain'});
res.end('not found');
}
}).listen(1337, "localhost");
console.log('Server running at http://localhost:1337/');

nodejs的简单服务器程序的更多相关文章

  1. Socket编程回顾,一个最简单服务器程序

    第一次接触服务器是快毕业的时候,是不是有点晚(# ̄ω ̄),这也导致工作方向一直没考虑网络编程这块,做了好多其他没啥“意思”的技术. 之前看到一篇博文提到程序猿80%都是庸才,10%是人才,10%是天才 ...

  2. nodeJs搭建简单服务器

    实现简单的例子:hello word 把第一个文件命名为server.js 在server.js里写入 var http  = require("http"); http.crea ...

  3. 最简单的回射客户/服务器程序、time_wait 状态

    下面通过最简单的客户端/服务器程序的实例来学习socket API. echoser.c 程序的功能是从客户端读取字符然后直接回射回去.  C++ Code  1 2 3 4 5 6 7 8 9 10 ...

  4. Linux下select的用法--实现一个简单的回射服务器程序

    1.先看man手册 SYNOPSIS       /* According to POSIX.1-2001 */       #include <sys/select.h>       / ...

  5. nodejs学习之简单服务器的编写

    不废话了!直接上代码: var http = require('http'); //导入模块http http.createServer(function(request,response){ res ...

  6. Socket创建简单服务器和客户端程序

    使用Socket编程创建简单服务器和客户端 要知道的 Socket-AddressFamily, SocketType, ProtocolType https://blog.csdn.net/weix ...

  7. Node安装及搭建简单服务器

    注:本文安装系统为mac,windows及其他系统下载对应安装包 ,mac下载后的安装包为apk文件,windows为msi文件. 安装 1.在网上下载node安装包,官方网站2.双击下载文件,按步骤 ...

  8. nodejs搭建web服务器初级

    nodejs搭建简单的web服务器 1.1简介 Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快 ...

  9. Nodejs创建HTTPS服务器

    Nodejs创建HTTPS服务器 从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发.Nodejs框架是基于V8的引擎,是目前速度最快的Jav ...

随机推荐

  1. java 操作POI参考文章

    http://blog.csdn.net/softwave/article/details/38071825 http://www.cnblogs.com/ivan0626/archive/2013/ ...

  2. SQl 判断 表 视图 临时表等 是否存在

    1.判断是否存在addOneArticle这个存储过程 if Exists(select name from sysobjects where NAME = 'addOneArticle' and t ...

  3. 大转盘Demo

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  4. 生成bundle和移除bundle

    1.命令行生成bundle $ php bin/console generate:bundle --namespace=Acme/TestBundle 2.移除bundle(新的bundle) App ...

  5. JavaWeb学习笔记--2.jsp指令元素、动作元素、内置对象

    目录: 一.指令 1.1 page指令 :page指令有13种属性 1.2 include指令:include指令有1种属性,为file.(注意<%@ include%>和<jsp: ...

  6. keil C 应注意的几个问题

    我们使用Keil C调试某系统时积累的一些经验 1.在Windows2000下面,我们可以把字体设置为Courier,这样就可以显示正常.2.当使用有片外内存的MCU(如W77E58,它有1K片外内存 ...

  7. Qt读取ANSI格式文件——利用QTextCodec将其他编码格式转换为Unicode格式

    Qt使用Unicode来表示字符串.但是通常需要访问一些非Unicode格式的字符串,例如打开一个GBK编码的中文文本文件,甚至一些非Unicode编码的日文,俄文等. Qt提供了QTextCodec ...

  8. SATA1.0,2.0,3.0区别

    外观没区别,接口都一样,线也一样,就是传输速率不一样,控制芯片不一样SATA1.0理论传输速度为1.5Gbit/s SATA2.0理论传输速度为3Gbit/sSATA2.0理论传输速度为6Gbit/s ...

  9. eq,neq,gt,lt等表达式缩写

    eq 等于neq 不等于gt 大于egt 大于等于lt 小于elt 小于等于like LIKEbetween BETWEENnotnull IS NUT NULLnull IS NULL

  10. MSDN中HttpWebRequest/HttpWebResponse用法

    HttpWebRequest myReq = (HttpWebRequest)WebRequest.Create("http://home.cnblogs.com/u/weiweiboqi/ ...