Форум программистов, компьютерный форум, киберфорум
Node.js
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/55: Рейтинг темы: голосов - 55, средняя оценка - 4.67
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631

Http favicon.ico

05.03.2018, 12:55. Показов 11645. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, поясните плииз!

использую "чистый" http-модуль для сервера (без експреса).
По ссылке/пути отдаю json-файл (генерирую "на лету").
А на сервер после отправки json файла приходит запрос на favicon.ico! КАЖДЫЙ РАЗ!

Кто это делает? Crome? или http? (когда кодил на php вроде не было такого частого обращения к иконке)

Можно это как-то отключить??? Может хотя-бы кеширование на стороне клиента можно принудительно включить(командой с сервера)?

"жаба душит" каждый раз иконку отправлять - иконка в 10-100 раз больше чем json! (1кб vs 20-100байт), а мне за трафиком (мобильным = слабым(в горах/дороге) или дорогим(в роуминге)) следить надо и максимально уменьшить нагрузку на сервер.
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.03.2018, 12:55
Ответы с готовыми решениями:

Express favicon
Гуру, подскажите куда копать... Пытаюсь освоить Express для написания простых "сайтов-визиток" (для начала, первые шаги перехода с...

Выполнение http.request http.get
О задаче: Начну с того что мне нужно сделать, мне нужно получить из формы url-адресс и выполнить http.request на этот адресс, после чего...

Favicon at "http://localhost:8080/favicon.ico" failed to load
Кто нибудь может объяснить как побороть данную ошибку ( у меня связка Java + jQuery) и доходчиво объяснить, что же это такое? ...

6
707 / 309 / 191
Регистрация: 05.03.2015
Сообщений: 822
05.03.2018, 13:59
Вроде как фавиконка и статичные ресурсы кешируются по умолчанию корректно. Может проблемы никакой нет и вы перезагружаете страницу с отключенным кешированием?

В любом случае, отключить эту чертову фавиконку можно так:

JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
var http = require('http');
 
http.createServer(function (q, r) { 
  if (q.url === '/favicon.ico') {
    r.writeHead(200, {'Content-Type': 'image/x-icon'} );
    r.end();
    console.log('favicon requested');
    return;
  }
 
  // for not the favicon
  // ...
  
}).listen(8000);
0
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
05.03.2018, 15:57  [ТС]
Цитата Сообщение от msheal Посмотреть сообщение
отключить эту чертову фавиконку можно так
Отключить иконку я и сам могу! Но это "костыль"! Хочу понять почему при загрузке в хроме http://127.0.0.1:8000/test.json сначала успешно идет запрос на /test.json, а потом ВСЕГДА переспрашивается /favicon.ico
Причем сколько бы я не нажимал F5 в хроме (перезагружал страницу) каждый раз у сервера переспрашивается /favicon.ico!
Я думал она должна была закешироваться после первого опроса!!! Ладно бы я не json открывал в браузере, а html с прописанной favicon...

Задумка: по таймеру опрашивать эту страницу в андроид-программе (или мобильном браузере) на медленном, дорогом и не стабильном инете. Андроид-программы пока нет - тестирую в хроме. В json - "статус" - от 5 до 100 символов. Иконка ~1.1Кб. Можно конечно убрать/отключить иконку, но хочу понять почему она в json файле вообще опрашивается??? Это фишка хрома или ноды? в php при выводе json вроде обращений к favicon не было...
0
28 / 22 / 15
Регистрация: 29.11.2017
Сообщений: 75
06.03.2018, 02:52
Лучший ответ Сообщение было отмечено andyj как решение

Решение

Выжимка из вики https://ru.wikipedia.org/wiki/Favicon
Многие современные браузеры не требуют явного указания на favicon.ico в коде страницы. В случае отсутствия такого указания браузер пытается загрузить favicon.ico из корня сайта. Однако имеется возможность явно указать положение значка в (X)HTML-коде (внутри элемента <head>), что позволяет при условии отсутствия /favicon.ico использовать для каждой страницы свой значок.

Для явного указания местоположения favicon.ico необходимо вписать следующую строку в код страницы вашего сайта внутрь секции head:
HTML5
1
<link rel="icon" type="image/png" href="/someimage.png" />
Кэш клиента
1
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
10.03.2018, 18:16  [ТС]
Цитата Сообщение от МихаилБасов Посмотреть сообщение
Кэш клиента
Спасибо! навели на мысль - добавил в шапку/header отправки файла значка:
JavaScript
1
2
3
4
5
res.writeHead(200,{
   //...
   'Cache-Control': "max-age=31536000",
   //...
});
после этого иконку браузер спросил один раз (на json-файл, где вообще не нужна икона) и перестал переспрашивать!
0
the hardway first
Эксперт JS
 Аватар для j2FunOnly
2475 / 1847 / 910
Регистрация: 05.06.2015
Сообщений: 3,610
13.03.2018, 15:39
Цитата Сообщение от andyj Посмотреть сообщение
после этого иконку браузер спросил один раз (на json-файл, где вообще не нужна икона) и перестал переспрашивать!
А вы указываете явно тип данных, которые отправляет ваш сервер? Что если установить заголовок Content-Type: application/json?
0
274 / 178 / 30
Регистрация: 16.03.2017
Сообщений: 1,631
13.03.2018, 22:28  [ТС]
Цитата Сообщение от j2FunOnly Посмотреть сообщение
А вы указываете явно тип данных, которые отправляет ваш сервер? Что если установить заголовок Content-Type: application/json?
Да! я написал специальную сложную функцию "отправки файла"!
Там и контроль "скорости раздачи", и "раздача частями"(с докачкой), и автоподбор заголовка (Content-Type) по расширению.
Сейчас добавил 'Cache-Control': "max-age=31536000" в раздачу иконки и после этого перестало ПЕРЕспрашивать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
13.03.2018, 22:28
Помогаю со студенческими работами здесь

Как долго индексируется favicon.ico и favicon.png?
Как долго индексируется favicon.ico и favicon.png? Когда они появятся в выдаче?

favicon.ico
Здравствуйте, Сделал иконку для своего сайта, а яндекс не кушает её. В чём может быть проблема? Размер иконки 16х16 (4bit). Лежит в...

favicon.ico
у меня на сайта не меняется favicon.ico почему? заменил. уж 2ой месяц идет.... ( может что то надо написать или что? Добавлено через...

favicon.ico
создал иконку(картинку), засунул ее в код &lt;link rel=&quot;icon&quot; href=&quot;layout/images/favicon.ico&quot; type=&quot;image/x-icon&quot; /&gt; но...

Трабла с favicon.ico
Как сделать иконку на странице с картинкой (то есть когда мы открываем картинку и в строке браузера http://****.jpg) Просто так на сайте...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru