IE 11 не показывает значок значка при доступе к серверу через ipv6-адрес

#internet-explorer #ipv6 #favicon

#internet-explorer #ipv6 #значок

Вопрос:

Я использовал express в качестве локального сервера для тестирования своего веб-приложения. Все было в порядке, когда я обращался к серверу, используя ipv4-адрес (localhost: 8000) в браузере IE 11. Однако, когда я обращался к серверу с использованием ipv6-адреса([::1]:8000), все работало хорошо, за исключением того, что IE не показывал значок.

Я проверил информацию журнала в режиме отладки в IE и обнаружил, что IE не отправил запрос на запрос значка (подтвердите в экспресс-консоли, что сервер не получил запрос на запрос значка).

PS: я попытался получить доступ к значку напрямую, используя http://[::1]:8000/ фавикон.ico. Все было в порядке.

Комментарии:

1. Я очищал файлы cookie, кэш … каждый раз, когда я тестировал.

2. localhost: 8000 по умолчанию будет использовать IPv6, а не IPv4.

Ответ №1:

Похоже, что это из-за ошибки IE. смотрите ссылку: https://connect.microsoft.com/IE/feedback/details/961284/favicon-not-displayed-on-ipv6-literal-hostnames

ПРИМЕЧАНИЕ: localhost: 8000 по умолчанию будет использовать IPv6, а не IPv4.

Убедитесь, что у вас есть следующий код <head> .
<link href="/favicon.ico" rel="shortcut icon">
Если вы используете IP-адрес напрямую, IE не будет пытаться получить доступ к /favicon.ico.

Комментарии:

1. Да, вы правы. Я изменил файл хоста и изменил localhost на ::1. Теперь IE может отображать значок значка, если я использую localhost: 8000. Но я не мог понять модификацию. Если я использую адрес ipv4, IE всегда отображает значок значка, если я использую 127.0.0.1: 8000 или localhost: 8000. Почему не работает, когда я использую ipv6-адрес напрямую?

2. @binjun. ван, у тебя есть элемент ссылки в заголовке?

3. Похоже, что это из-за ошибки IE. смотрите ссылку: connect.microsoft.com/IE/feedback/details/961284 /…

4. Да, у меня есть элемент link в head.