Pourquoi est-Chrome à la recherche de mon favicon.ico quand je sers un fichier à partir de ASP.NET MVC?
J'ai un contrôleur MVC servant des images à partir d'une base de données.
EDIT: Ce qui se passe encore si je sers un fichier entièrement la norme en MVC.
À chaque fois que je demande à mon image, Google Chrome aussi des recherches pour mon favicon.ico.
Pour éviter les discussions inutiles sur d'autres choses "il faut aussi savoir" supposons que je ne me soucie pas de mise en cache que ce soit dans cet exemple et j'ai toujours le retour de la réponse HTTP 200 avec le fichier.
Dans mon contrôleur je retourner les éléments suivants:
return File(fileBytes, contentType);
Après l'inspection de Fiddler 2, la réponse suivante est générée:
HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/gif
ETag: oYu19wKo+KEHkyxZQ2WXAA==
Server: Microsoft-IIS/7.0
X-AspNetMvc-Version: 1.0
X-AspNet-Version: 2.0.50727
X-Powered-By: ASP.NET
Date: tue, 16 Jun 2009 18:48:45 GMT
Content-Length: 29344
Par comparaison, c'est la réponse dans un violon à partir de Google lorsque je demande (pour la première fois) le logo Google:
HTTP/1.1 200 OK
Content-Type: image/gif
Last-Modified: Wed, 07 Jun 2006 19:42:34 GMT
Date: tue, 16 Jun 2009 18:50:54 GMT
Expire le: Wed, 16 Jun 2010 18:50:54 GMT
Cache-Control: public, max-age=31536000
Serveur: gws
Content-Length: 8706
Âge: 2
Cependant, en Chrome après l'obtention de mon image Chrome tente de trouver mon favicon.ico. Il ne pas essayer ce, après avoir demandé le logo Google.
Des idées pourquoi ce qui se passe? De ma compréhension sur le code HTML, la réponse doit être dans l'en-tête de réponse parce que sûrement c'est tout ce que le client doit aller sur? Veuillez me corriger!
EDIT 2: Il semble que beaucoup de gens ont complètement mal compris le problème. Le problème est pas l'absence d'un favicon et le erroring demandes en MVC - c'est le problème de demander un favicon lorsque seule une image est en cours de chargement, avec un type de contenu "IMAGE/JPEG", par opposition à une page web avec un contenu de type "TEXT/HTML"!!
Je vous recommande d'ajouter "iis" "google chrome" et "http headers" balises à la question de manière à orienter l'attention loin de la MVC. Aussi quel est le comportement lors de l'extraction d'images fixes à partir d'autres sites (asp.net par exemple)?
Ce post est assez vieux, mais il est venu dans une recherche google et je suis toujours de voir ce comportement. Je suis un étalement de mes journaux d'erreur sur mon serveur et à chaque fois que je demande une page avec chrome, en effet je vois un
file does not exist: /path/favicon.ico
. Certainement un chrome chose, un peu ennuyeux.OriginalL'auteur joshcomley | 2009-06-16
Vous devez vous connecter pour publier un commentaire.
Cela n'a rien à voir avec MVC. Je suis à l'aide de formulaires web avec une coutume construit le service de journal et je suis tombé sur ce post en me demandant pourquoi j'avais en permanence Fichier n'existe pas " d'erreurs dans mes journaux. C'est en local sur ma machine de développement, je n'ai pas de favicon.ico des fichiers dans mes projets, et j'ai essayé IE, Firefox et Google en essayant de voir quel navigateur est le coupable.
Chaque demande de Google Chrome pour mes applications fait une demande d'un favicon.ico. J'ai eu pour démarrer l'enregistrement navigateur localement pour déterminer qu'il s'agissait en fait de google navigateur qui est le coupable. J'avais des contacts google si cela vous dérange. Je voulais m'assurer que ce n'était pas un nouveau cheval de troie infecte mon chrome.
OriginalL'auteur TombMedia
Avez-vous un favicon? Si non, peut-être que c'est pourquoi Chrome est d'essayer de trouver à chaque fois pour votre site web. Pour google, il a déjà le favicon mis en cache.
Ne "vide" signifie la taille de zéro?
Yep, je viens de faire un vide favicon.ico à la tester
Peut-être essayer de placer un réel 16x16px icône google Chrome peut afficher. Sinon, il pourrait être juste de s'en débarrasser.
Je voudrais aussi tester avec de vrais icône du fichier.
OriginalL'auteur Vilx-
La réponse exacte: Il est connu, vérifié bug. *(récemment fixé!... peut-être?)
Ressemble à une question de longue date avec google Chrome:
http://crbug.com/39402
Si vous voulez qu'il fixe plus tôt, la star de la question. Plus de personnes mettant en vedette la question sera probablement augmenter sa priorité et, éventuellement, le faire réparer plus rapidement.
****Mise à JOUR 1***: depuis le 15 Mai de cette année (2013) - quatre ans après cette question a été posée-il ressemble à ce problème a été corrigé dans la version 29:
http://crbug.com/39402#c47
Hésitez pas à défaire tous vos hacks et des solutions de contournement. :]
****Mise à JOUR 2 (2015-01)***: C'est apparemment toujours un problème pour certains utilisateurs, selon le même problème de lien. :/
OriginalL'auteur Noyo
une chose que vous pourriez faire est de les avoir MVC ignorer toute demande d' *.ico, de sorte que vous ne recevez pas toutes les exceptions lors du débogage.
Devrait être quelque chose comme ceci:
Ce modèle d'URL correspond tout, mais alors nous obliger à seulement correspondent à rien de ce se terminant en favicon.ico. (Je n'ai pas testé ce)
Vous devriez en parler à l'navigateur vendeur. C'est le navigateur qui fait la demande.
En fait il y a un IgnoreRoute.
OriginalL'auteur Haacked
J'ai couru à ce problème tout en arrière et j'ai eu autour de lui, en ignorant l'itinéraire précis en ajoutant
dans le RegisterRoutes méthode Globale.asax.
OriginalL'auteur
Il semble que pour moi, Chrome demande un favicon pour son propre onglets - j'ai continué à obtenir une erreur 404 (parce que mon favicon est somwhere d'autre et mes pages le sais) jusqu'à ce que j'ai fait quelques tests et réalisé qu'il était en Chrome de faire directement des demandes pour le fichier favicon. Pas de vraie solution, sauf de faire une réécriture du fichier réel je suppose que
OriginalL'auteur Joshua
Vous pouvez ajouter quelque chose comme ceci dans votre
web.config
fichier pour s'assurer que lefavicon.ico
est mis en cache sur le client et n'est pas demandé à chaque fois.Vous pouvez/devez faire de même pour les images /.les fichiers css et js
OriginalL'auteur Denis Volovik
Vous devez définir l'en-tête Expires pour dire au navigateur combien de temps il doit utiliser sa copie locale.
OriginalL'auteur DSO
Si vous cochez la case de votre projet de création d'il est dit de l'icône par défaut quelque part. Le supprimer?
OriginalL'auteur mhenrixon
Le navigateur google Chrome pourrait travailler avec Google site d'une autre manière qu'avec n'importe quel autre site, donc, au premier abord, je voudrais vous recommandons de vérifier si elle a l'air de favicon.ico tous les temps quelque part d'autre, par exemple, sur StackOverflow.
Je voudrais aussi vérifier si Firefox fait de même avec votre site. Je pense favicon.ico doit être demandé qu'une seule fois par navigateur de fonctionner même si il n'est pas présent sur le site. Cela pourrait être un bug dans Chrome, la version que vous utilisez.
OriginalL'auteur Alexander Prokofyev
Cette DONC, la question/réponse explique comment servir le Favicon pour le navigateur en utilisant les voies.
OriginalL'auteur Colin Desmond
Il est important de mettre un lien de l'ICÔNE dans votre masterpage ou certains navigateurs vont essayer de trouver favicon.ico pour tous les répertoires et pas seulement dans le monde une fois par fait.
Il semble que la barre d'outils google est le coupable, à en juger par mes logs (et IE6 bien sûr). Ils seront tous les deux faire des demandes pour des répertoires autres que la racine
OriginalL'auteur Simon_Weaver