Express编辑URL查询为“”;favicon.ico”;
Express edits URL query to "favicon.ico"
当我在路由后向node.js/express web服务器发送一个带有URL的GET请求时,服务器不会记录所述URL,而是存储favicon.ico:
var express = require("express");
var app = express();
app.get("/:query", function (req, res) {
var query = req.params.query;
console.log(query);
})
var port = process.env.PORT || 8080;
app.listen(port, function () {
console.log('Node.js listening on port ' + port + '...');
});
所以,当我转到https://my-domain-url.io/http://www.google.co.uk
时,控制台上打印的是:favicon.ico
而不是http://google.co.uk
有人知道为什么会发生这种情况以及如何预防吗?
(我目前正在使用一个解决方法,使用req.headers.referer
,它为我提供了完整的https://my-domain-url.io/http://www.google.co.uk
,然后我手动解析它。)
这发生在我身上……这是因为HTML正在寻找一个favicon作为页面的子请求:
<link rel="shortcut icon" href="favicon.ico">
基本上,浏览器请求"favicon.ico"作为脚本参数。在资源调用之前添加斜杠为我解决了这个问题,就像这样:
<link rel="shortcut icon" href="/favicon.ico">
浏览器也有可能自动查找最喜欢的图标。这个解决方案可能对此有所帮助。
一种方法:
var express = require("express");
var app = express();
app.get("/*", function (req, res, next) {
var query = req.params[0];
console.log(query);
next(); //you need add next, otherwise your query will hang there
})
var port = process.env.PORT || 8080;
app.listen(port, function () {
console.log('Node.js listening on port ' + port + '...');
});
相关文章:
- 可以't在Meteor中加载Favicon
- Express编辑URL查询为“”;favicon.ico”;
- history.pushState in Chrome make favicon request
- 防止 favicon.ico 发出第二个请求 - Node.js
- 如何从Javascript中的通用网页获取favicon的URL
- favicon.ico出现在提交表单的URL中
- 修复加载2 Favicon或Tab图标的问题
- 从博客中删除favicon.ico文件
- Favicon未在FireFox中显示
- java或javascript方式将图像文件转换为favicon.ico
- Favicon存储和检索|最佳实践
- 来回闪烁favicon
- 流画布到imgittools制作ico
- Safari网址栏上的Favicon
- 如何获得favicon图标/苹果触摸图标和标题的网页使用Javascript或Jquery
- Favicon.ico javascript它做什么
- 为什么.ico (Base64)看起来浪费了这么多空间?
- 如何缓存png,ico,jpeg
- 没有获得正确的 URL 路径 - URL 路径是:/favicon.ico
- 将 favicon添加到 javascript Bookmarklet(使用 window.open)