Trong mọi yêu cầu, máy chủ của tôi nhận được yêu cầu GET tới /favicon.ico, ngay cả khi nó là REST api không bao gồm tệp html. Tại sao điều này xảy ra và làm cách nào tôi có thể ngăn yêu cầu này?Express js ngăn chặn GET /favicon.ico
Trả lời
trình duyệt sẽ theo mặc định cố gắng để yêu cầu /favicon.ico
từ gốc của tên máy chủ, để hiển thị biểu tượng trong tab trình duyệt.
Nếu bạn muốn tránh yêu cầu này trả lại 404, bạn có thể:
- Cung cấp một tập tin
favicon.ico
có sẵn tại thư mục gốc của trang web của bạn. - Sử dụng mô-đun như serve-favicon để trỏ yêu cầu đến một tệp cụ thể.
Săn
favicon.ico
yêu cầu và gửi một tình trạng204 No Content
:app.get('/favicon.ico', function(req, res) { res.status(204); });
Tôi nghĩ bạn có nghĩa là máy chủ của bạn nhận được yêu cầu như vậy. Thông thường, trình duyệt sẽ cố gắng hiển thị biểu tượng trên tab. Đặc biệt Chrome rất hung dữ (ít nhất đó là quan sát của tôi).
Những gì bạn có thể làm là xử lý đúng đắn các yêu cầu cho các trang HTML của bạn và bỏ qua nó cho các cuộc gọi API (như họ có thể sẽ thường không xảy ra ở mặt trước với một trình duyệt)
phương pháp ưa thích của tôi là middleware
đặt ở đâu đó này:
function ignoreFavicon(req, res, next) {
if (req.originalUrl === '/favicon.ico') {
res.status(204).json({nope: true});
} else {
next();
}
}
thì:
012.app.use(ignoreFavicon);
- 1. Nginx và favicon.ico - "GET /favicon.ico HTTP/1.1" FAILED
- 2. góc js 204 phản ứng ngăn chặn trong IE10
- 3. BrowserSync liên tục GET bằng cách sử dụng Express/Gulp
- 4. express js - ejs với mẫu bố cục
- 5. Góc 2 cli với Express js
- 6. Làm thế nào để ngăn chặn PowerShell Get-Content đầu ra
- 7. ngăn chặn csrf trong php
- 8. Heroku "at = error code = H10 desc =" Ứng dụng bị lỗi "phương pháp = GET path =/favicon.ico"
- 9. Tuyến đường mới trong lỗi Express JS 404
- 10. Sử dụng các tuyến đường trong Express-js
- 11. Ngăn chặn ERR_BLOCKED_BY_XSS_AUDITOR trong chrome
- 12. Ngăn chặn menu chọn mở
- 13. Cách ngăn chặn nút hết bộ nhớ khi đóng gói js cho React Native
- 14. Cách truy cập thông số GET sau "?" trong Express?
- 15. Cách ngăn yêu cầu JS bên ngoài
- 16. Ngăn chặn tiêm LDAP
- 17. Haskell hĐóng ngăn chặn
- 18. Ngăn chặn CSRF?
- 19. Ngăn chặn ngoại lệ
- 20. Ngăn chặn heapq
- 21. Ngăn chặn DOM XSS
- 22. ngăn chặn gian lận cho trình duyệt dựa trên xmlhttp/js/perl/php trò chơi
- 23. Ngăn chặn Google bản đồ JS thực hiện nhiều lần do Rails Turbolinks
- 24. Ngăn chặn tình cờ Quay lại
- 25. Express-mysql-session ngăn ngừa hộ chiếu deserializeUser chạy
- 26. Ngăn chặn bỏ phiếu đôi
- 27. ngăn chặn nút jsTree chọn
- 28. Ngăn chặn khóa tuyên truyền
- 29. Ngăn chặn chuỗi in trăn
- 30. Góc cách ngăn chặn FOUC
Tôi đã gửi chỉnh sửa cho câu trả lời ở trên cho biết rằng việc gửi phản hồi '204' phù hợp hơn' 200'. – naterkane
Cảm ơn, đề xuất tốt. – duncanhall
Trong Express 4, 'res.sendStatus (204);' – pxwise