nodejs小知识点

97 阅读1分钟

1、nodejs请求http时,res.write()和res.end(),里面必须写入字符串形式。
例如:res.end((1+2+3).toString());就可以输出6.
2、url
最关键的就是req.url属性,表示用户的请求URL地址。
所有的路由设计,都是通过req.url来实现的。
url.parse()会将请求的url地址解析出来,不会识别#后的内容。
var path = url.parse(req.url);
解析出来是一个对象的形式。
pathname:请求的地址(有?后的内容)
path:没有?后的内容。
query:地址中?后面请求的内容
url.parse(req.url,true).query; 第二个参数为true时,会将请求的字符串转化为对象格式显示。
url.format()将对象转化成字符串。
以下是parse返回对象的各个属性。
href:被转换的原URL字符串.
protocol:客户端发出请求时使用的协议.
slashes:在协议与路径中间时候使用"//"分隔符.
host:URL字符串中的完整地址及端口号,该地址可能为一个IP地址,也可能为一个主机名.
auth:URL字符串中的认证信息部分.
hostname:URL字符串中的完整地址,该地址可能为一个IP地址,也可能为一个主机名.
search:Url字符串中的查询字符串,包含起始字符"?"
path:url字符串中的路径,包含查询字符串.
query:url字符串中的查询字符串,不包含起始字符"?",或根据该查询字符串而转换的对象(根据parse()方法所用参
数而决定query属性值);
hash:url字符串中的散列字符串,包含起始字符"#".

Url {
protocol: 'http:',
slashes: true,
auth: 'user:pass',
host: 'host.com:8080',
port: '8080',
hostname: 'host.com',
hash: '#hash',
search: '?query=string',
query: 'query=string',
pathname: '/p/a/t/h',
path: '/p/a/t/h?query=string',
href: 'user:pass@host.com:8080/p/a/t/h?que…' }