Your First Web Server

    现在,你已准备好编写有点有趣的东西了,就比如我们要写一个小的web server。幸运的是,Node 让这样的任务变得很简单。把下面的代码保存到一个叫 web.js 的文件中:

var http = require("http");

function process_request(req, res) {

    var body = 'Thanks for calling!\n';

    var content_length = body.length;

    res.writeHead(200, {

        'Content-Length': content_length,

        'Content-Type': 'text/plain'

    });

    res.end(body);

}

var s = http.createServer(process_request);

s.listen(8080);

要运行该代码,只需输入 node web.js

    现在,你的计算机上就有了一个 web server 运行在 8080 端口上。要测试它,你可以使用命令行程序 curl,大多数 Mac 以及 Linux 机器上已经装了。当然也可以在 浏览器 中输入 http://localhost:8080 来检验。

curl -i http://localhost:8080

你可以看到类似于下面的输出:

HTTP/1.1 200 OK

Content-Length: 20

Content-Type: text/plain

Date: Tue, 15 Feb 2013 03:05:08 GMT

Connection: keep-alive

Thanks for calling!  

【Downloading from the Web on Windows】

=============================================================================

    默认,Windows 没有带任何可以得到一个 URL 的内容的命令行工具。这工具实在不错,我建议你为Windows 下载 cURL 或 wget。

    【Curl】:到http://curl.haxx.se/download.html 去下载 Windows binaries for curl,在页面中找到 Win32-Generic 部分。最好下载带 SSL和SSH的。解压后,把 curl.exe 的路径放到 PATH 环境变量中。

C:\Users\Mark\curl --help

    【Wget】:它工作起来基本和 crul 一样,但它带了一些稍微不同的命令行参数。看它的帮助能学到更多:

C:\Users\Mark\wget  --help

=============================================================================

    前面代码中的 require 函数的作用是把一个模块包含进来。createServer 函数带一个参数,该参数是一个函数,每当一个人连接到你的服务器,该函数就会被调用。

    -i 开关是告诉 curl 打印 headers 和 response。Node.js,默认到它的服务器的 HTTP 连接是 keep-alive,这样就允许在同一个网络连接上可以有多个请求。

    要停止该服务器,按下 Ctrl+C 就行了。它会很聪明地清掉所有东西并正确关闭。

猜你喜欢

转载自zsjg13.iteye.com/blog/2232061