Здесь задействованы два заголовка. Используется заголовок файла и заголовок ответа от IIS или любого другого веб-сервера. Заголовок файла иногда содержит тип файла. Файлы PNG или GIF, например.
Если вы откроете их в шестнадцатеричном редакторе, вы увидите, что они заявляют, что они являются файлами PNG или GIF, поэтому независимо от того, какое расширение файла, вы знаете, что это PNG или GIF. Большинство файлов этого не делают. Это когда вы должны положиться на веб-разработчика, который представляет вам файл для загрузки. В Java / ASP.NET или на любом другом языке, на котором разработчик сервера написал свой сайт, они могут представить тип контента и имя файла для отправки запрашивающей стороне, как показано в этом посте:
как видно из этого поста
Надеюсь, это поможет ..