CNode

如何去除浏览器请求favicon.ico文件带来的干扰?

Mmscrm发布于12 年前最后回复12 年前5 回复103182 浏览0 收藏

浏览器每次发起请求,都会同时请求一次favicon.ico(本次不讨论浏览器缓存了favicon.ico)

我用http.createServer()打开了8080端口来监听post过来的数据,然后根据post过来的数据进行下一步任务处理。

但我发现,每次post数据过来,都是请求了favicon.ico导致出现了莫名的bug....

http.createServer(function(req, res) {

if(req.url == '/favicon.ico'){ res.end(); }else{ req.addListener('data',function(postDataChunk) { var postdata =''; postdata+=postDataChunk; });

req.addListener('end',function(){ console.log(postdata); });
}

res.end();

}).listen(8080);

post提交几次看看结果。。。。。 该如何过滤掉favicon的请求。。。。新人求救

查看回复

回复 (5)

N
nodefan01#1·12 年前

我没有用Express,而是写了returnData('query_string',res){}响应ajax数据请求,写了returnFile('filename',res){}响应文件请求,然后把需要公开的文件列表放在publicFileList=[]里保证安全(如果请求的文件不在里面就返回404),其中就包括'favicon.ico'图标文件。

N
nodejser#2·12 年前

对图标文件的请求是无法过滤的,这是由浏览器发起的。你可以响应404..另外,看你写的处理方法也可以啊,直接终止响应。

C
chemdemo#3·12 年前

url匹配下favicon.ico,匹配到直接返回

A
alsotang#4·12 年前

connect 有个专门用来处理 favicon 的中间件,我印象中。

参与回复
登录后即可参与回复。登录