在每个请求中,我的服务器都正在接收GET请求到/favicon.ico,即使它是不包含html文件的REST api。为什么会发生这种情况,我如何防止这种请求?表示js阻止GET /favicon.ico
13
A
回答
34
浏览器将默认尝试从要求/favicon.ico
主机名的根目录,以便在浏览器选项卡中显示图标。
如果你想避免这个请求返回404,您可以:
- 供应
favicon.ico
文件可在您的网站的根目录。使用等模块将请求指向特定文件。 赶上
favicon.ico
请求和发送204 No Content
状态:app.get('/favicon.ico', function(req, res) { res.status(204); });
2
我认为你的意思是你的服务器收到这样的请求。通常,浏览器会尝试在选项卡上显示一个图标。特别是Chrome非常具有侵略性(至少这是我的观察)。
你可以做的是正确处理请求的HTML页面,而忽略它的API调用(因为他们将可能通常不会在前台使用浏览器发生)
2
我的首选方法是中间件
把这个地方:
function ignoreFavicon(req, res, next) {
if (req.originalUrl === '/favicon.ico') {
res.status(204).json({nope: true});
} else {
next();
}
}
则:
app.use(ignoreFavicon);
相关问题
- 1. 阻止favicon.ico下载
- 2. Nginx和favicon.ico - “GET /favicon.ico HTTP/1.1”失败
- 3. 什么阻止get-member显示事件?
- 4. 阻止JS文件
- 5. Angular js - 跨域请求在GET请求中被阻止
- 6. 如何阻止IIS通过.net来提供图像(favicon.ico)。
- 7. 如何阻止favicon.ico请求的htaccess身份验证
- 8. 阻止js模块执行
- 9. 节点/ JS承诺阻止
- 10. WebClient GET/POST没有阻止UI
- 11. 阻止GET访问某个URI
- 12. 在Apache/PHP中阻止GET请求
- 13. 在craigslist上的HTTP GET被阻止
- 14. 阻止显示表单事件;
- 15. Robot.txt表示被阻止但不阻塞任何东西?
- 16. Js get()或load()后停止进度
- 17. 角度js渲染速度[缓慢]阻止装载器显示
- 18. 阻止js值进入负值
- 19. Chrome应用程序阻止JS加载
- 20. 包括.js文件阻止jQuery加载
- 21. 附加js文件以阻止drupaL 7?
- 22. 从控制台阻止js攻击
- 23. 阻止用户通过在节点JS
- 24. JS - readAsDataURL阻止浏览器活动
- 25. 如何阻止JS下载未完成
- 26. 如何阻止window.status显示?
- 27. 显示阻止消息框
- 28. 如何阻止ModalPopupExtender显示?
- 29. 如何阻止显示P:
- 30. Quickblox:在WEB聊天中阻止解除阻止和阻止列表
我向上面的响应提交了一个编辑,指出发送'204'响应比'200'更合适。 – naterkane
谢谢,很好的建议。 – duncanhall
在Express 4中,'res.sendStatus(204);' – pxwise