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 就行了。它会很聪明地清掉所有东西并正确关闭。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值