Javascript 为什么Chrome发送两个http请求,而Firefox发送一个?
编辑:所以第二个回答肯定是favicon.ico的问题,但为什么这会发生在chrome而不是firefox上 原件: 我正在学习node.js的express并练习中间件的路由。我的问题是“/”路由正在通过,即使我没有发送请求,也没有调用next();在它之前的中间件中。此外,当我向“/”路由发送请求时,它会发送双重响应。它在chrome而不是firefox中实现了这一点,那么有人能解释一下区别吗Javascript 为什么Chrome发送两个http请求,而Firefox发送一个?,javascript,node.js,express,http,favicon,Javascript,Node.js,Express,Http,Favicon,编辑:所以第二个回答肯定是favicon.ico的问题,但为什么这会发生在chrome而不是firefox上 原件: 我正在学习node.js的express并练习中间件的路由。我的问题是“/”路由正在通过,即使我没有发送请求,也没有调用next();在它之前的中间件中。此外,当我向“/”路由发送请求时,它会发送双重响应。它在chrome而不是firefox中实现了这一点,那么有人能解释一下区别吗 const express = require('express'); const app =
const express = require('express');
const app = express();
app.use('/users', (req, res, next) => {
console.log('This handles /users route');
res.send('<h1>This handles /users route</h1>');
});
app.use('/', (req, res, next) => {
console.log('This handles / route');
res.send('<h1>This handles / route</h1>');
});
app.listen(3000);
const express=require('express');
常量app=express();
应用程序使用('/users',(请求、恢复、下一步)=>{
log(“此句柄/用户路由”);
res.send(“此句柄/用户路由”);
});
应用程序使用(“/”,(请求、恢复、下一步)=>{
console.log('This handles/route');
res.send(“此句柄/路由”);
});
app.listen(3000);
如果导航到localhost:3000/users,该页面将显示正确的html,但控制台会记录:
- 这将处理/用户的路由
- 这条路线
- 这条路线
- 这条路线
只需在中间件中执行
console.log(req.url)
,就可以看到发生了什么。您可能会看到Firefox和Chrome之间favicon.ico的缓存差异。但是,如果你添加我提到的日志,它肯定会告诉你。请记住,app.use(“/”,…)
匹配向您的服务器发出的每个请求,因此它将始终被命中,除非在它捕获请求之前有什么东西。请确保始终描述您发布的链接指向何处<代码>“在此处输入图像描述”是不够的^^