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