Node.js中,将很多的功能,划分为了一个个mudule,大陆的书翻译为模块;台湾的书,翻译为模组。
这是因为,有一些程序需要使用fs功能(文件读取功能),有一些不用的,所以为了效率,你用啥,你就require啥。
//这个案例简单讲解http模块
//引用模块var http = require("http");
//创建一个服务器,回调函数表示接收到请求之后做的事情
var server = http.createServer(function(req,res){ //req参数表示请求,res表示响应
console.log("服务器接收到了请求" + req.url);
res.end(); });
//监听端口
server.listen(3000,"127.0.0.1");
image.png
设置一个响应头:
res.writeHead(200,{"Content-Type":"text/plain;charset=UTF8"});
image.png
我们现在来看一下req里面能够使用的东西。
最关键的就是req.url属性,表示用户的请求URL地址。所有的路由设计,都是通过req.url来实现的。
我们比较关心的不是拿到URL,而是识别这个URL。
识别URL,用到两个新模块,第一个就是url模块,第二个就是querystring模块
字符串查询,用querystring处理
querystring.parse('foo=bar&baz=qux&baz=quux&corge')
// returns
{ foo: 'bar', baz: ['qux', 'quux'], corge: '' }
// Suppose gbkDecodeURIComponent function already exists,
// it can decode `gbk` encoding string
querystring.parse('w=%D6%D0%CE%C4&foo=bar', null, null,
{ decodeURIComponent: gbkDecodeURIComponent })
// returns
{ w: '中文', foo: 'bar' }
pathname:/abcd/abcder/1.html
query:id=123&sex=man&age=18
网友评论