Saat Anda mengunjungi situs web (URL apa pun di situs web itu), browser biasanya juga akan mengirim permintaan ke domain yang sama untuk /favicon.ico
jadi lihat apakah situs web menawarkan ikon untuk menjadi representasi visual dari situs tersebut.
Karena Anda menggunakan rute tingkat atas wildcard:
app.get('/:listRoute', ...)
Itu akan terkena permintaan untuk /favicon.ico
. Beberapa url lain yang mungkin juga perlu Anda waspadai untuk diminta adalah:/robots.txt
, /humans.txt
, /sitemap.xml
, /ads.txt
.
Ada beberapa cara untuk mengatasinya:
-
Rute wildcard Anda dapat terlebih dahulu memeriksa
req.url
ataureq.params.listRoute
untuk melihat apakah itu sesuatu yang harus diabaikan. -
Anda dapat menempatkan rute tingkat atas lainnya yang ingin Anda hindari dari rute wildcard Anda di posisi sebelum rute ini sehingga rute tersebut tidak berakhir di rute ini.
-
Jangan gunakan rute wildcard tingkat atas. Sebagai gantinya, gunakan sesuatu seperti
/list/:listRoute
jadi itu tidak akan secara otomatis cocok dengan permintaan http tingkat atas mana pun. Penggunaan Anda atas rute wildcard tingkat atas mengganggu penggunaan situs Anda di masa mendatang dan dapat membuat kompatibilitas mundur ke depan saat Anda ingin menambahkan rute tingkat atas lainnya ke situs Anda. Bayangkan jika suatu saat nanti, Anda ingin menambahkan/contact
atau/login
atau/logout
. Semuanya bertentangan dengan/:listRoute
.