HandleFunc Invocation Anomali dalam Go Web Server
Apabila melaksanakan pelayan web Go yang mudah untuk menjejaki lawatan halaman, pembangun menghadapi tingkah laku yang membingungkan di mana fungsi pengendali dipanggil dua kali. Setelah mengelog permintaan, didapati bahawa sebagai tambahan kepada laluan akar yang dijangkakan ("/"), penyemak imbas juga meminta fail favicon.ico.
Permintaan Favicon dan Invokasi Fungsi Pengendali
Fail ikon (dikenali sebagai favicon) menyediakan gambaran grafik kecil tapak web dan selalunya dipaparkan dalam tab penyemak imbas dan penanda buku. Penyemak imbas secara automatik meminta favicon.ico untuk semua tapak web, tidak kira sama ada satu itu wujud atau tidak. Jika fail tidak tersedia, penyemak imbas biasanya memaparkan imej pemegang tempat lalai.
Dalam contoh yang diberikan, memandangkan pelayan web tidak menyediakan fail favicon.ico, penyemak imbas memintanya daripada laluan akar ("/" ) sebagai sandaran. HandleFunc pelayan telah dikonfigurasikan untuk bertindak balas kepada semua permintaan pada akar, yang mengakibatkan fungsi pengendali dipanggil dua kali (sekali untuk laluan akar dan sekali untuk permintaan favicon.ico).
Penyelesaian
Untuk menyelesaikan isu ini, pembangun boleh sama ada mencipta fail favicon.ico dan menyampaikannya dari laluan khusus atau konfigurasikan pelayan web secara eksplisit untuk mengabaikan permintaan favicon.ico.
Atas ialah kandungan terperinci Mengapakah Fungsi Pengendali Pelayan Web Go saya Dipanggil Dua Kali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!