У меня есть контроллер в MVC, обслуживающий изображения из базы данных.
EDIT: Это все равно, если я передаю файл по полностью стандартным средствам в MVC.
Каждый раз, когда я запрашиваю свой образ, Google Chrome также ищет мой favicon.ico.
Чтобы избежать ненужных дискуссий о других вещах, "мне также должно быть интересно", предположим, что я не забочусь о кешировании в этом примере, и я всегда буду возвращать ответ HTTP 200 с файлом.
В моем контроллере я возвращаю следующее:
return File(fileBytes, contentType);
После проверки Fiddler 2 генерируется следующий ответ:
HTTP/1.1 200 OK
Cache-Control: public
Content-Type: image/gif
ETag: oYu19wKo + KEHkyxZQ2WXAA ==
Сервер: Microsoft-IIS/7.0
X-AspNetMvc-Version: 1.0
X-AspNet-версия: 2.0.50727
X-Powered-By: ASP.NET
Дата: Вт, 16 июн 2009 18:48:45 GMT
Контент-длина: 29344
Для сравнения, это ответ в Fiddler от Google, когда я впервые (я спрашиваю) логотип Google:
HTTP/1.1 200 OK
Content-Type: image/gif
Последнее изменение: ср, 07 июн 2006 19:42:34 GMT
Дата: Вт, 16 июн 2009 18:50:54 GMT
Истекает: ср, 16 июн 2010 18:50:54 GMT
Cache-Control: public, max-age = 31536000
Сервер: gws
Content-Length: 8706
Возраст: 2
Однако в Chrome после получения моего изображения Chrome пытается найти мой favicon.ico. Он не пробовал это после запроса логотипа Google.
Любые идеи, почему это может произойти? Из моего понимания в HTML, ответ должен быть в заголовке ответа, потому что, конечно, все, что должен сделать клиент? Пожалуйста, поправьте меня!
РЕДАКТИРОВАТЬ 2: Кажется, что многие люди полностью не поняли проблему. Проблема состоит в том, что not отсутствие favicon и запросов об ошибках в MVC - проблема с запросом favicon при загрузке только изображения с типом контента "IMAGE/JPEG" ", в отличие от веб-страницы с типом контента" ТЕКСТ /HTML "!!