在每個請求中,我的服務器都正在接收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