路由是指向客户端提供它所发出的请求内容的机制。对于基于Web的客户端/服务器程序而言,客户端在URL
中指明它想要的内容,具体来说就是路径和查询字符串
下面以一个简单的例子来说明,在没有路由前:
加上路由后,代码:
var http = require("http");
http.createServer(function(req,res) {
// body...
// 规范化 url,去掉查询字符串、可选的反斜杠,并把它变成小写
var path = req.url.replace(/\/?(?:\?.*)?$/, '').toLowerCase();
switch(path) {
case '':
res.writeHead(200,{'Content-Type':'text/plain'});
res.end("Homepage");
break;
case '/about':
res.writeHead(200,{'Content-Type':'text/plain'});
res.end("about");
break;
default:
res.writeHead(404,{'Content-Type':'text/plain'});
res.end('Not Found');
break;
}
}).listen(3000);
console.log('Server started on localhost:3000;press Ctrl-c to terminate...');
运行上述代码之后,你会发现你可以访问首页(http://localhost:3000)
和 关于页面(http://localhost:3000/about)。 所有的查询字符串都会被忽略(所以 http://localhost:3000/?foo=bar也是返回首页),并且其他所有URL(http://localhost:3000/foo) 返回的都是未找到页面。
fa
本文介绍了一个简易的路由机制实现,通过规范化的URL处理,实现了不同路径的响应。文章提供了具体的JavaScript代码示例,展示了如何根据客户端请求的路径返回相应的页面内容。
1176

被折叠的 条评论
为什么被折叠?



