我尝试制作一个简单的API。如果有人/某事询问:
myIP:port/query
它应该会产生一些结果。 但是,我注意到(至少)当浏览器(Chrome)发出查询时,服务器会收到两个请求。如果服务器简单设置如下:
http.createServer(function (request,result) {
console.log(request.url);
handleRequest(request,result);
}).listen(3000, '0.0.0.0');
它打印两个请求网址:
我想这意味着请求客户端会自动绘制一个附加请求,希望加载图标以及实际页面。
这个假设正确吗?
在提出请求时我可以做些什么来防止这种情况发生吗?是chrome驱动的还是我用ajax查询页面也会出现这种情况?
服务器端过滤掉网站图标请求的最佳实践是什么,以最大限度地减少服务器的浪费?
GET /favicon.ico
的网站图标,则会发出 <link rel="icon" ... />
。/favicon.ico
发出额外的请求,但此时浏览器很可能已经发出该请求(您必须已加载页面才能执行 AJAX 请求)。 <link ref="icon" ... />
语句来修改向客户端提供的模板(或 HTML 文件)。http.createServer((req, res) => {
if (req.url!="/favicon.ico")
console.log(req.url);
}).listen(8000);