откуда компьютер знает расширение файла

2

Просто любопытный вопрос, как компьютер определяет, что это за файл? Например, как компьютер определяет, что эти страницы являются типом HTML? каждого файла, есть ли информация заголовка в двоичном файле? Распределение баранов? откуда он это знает?

tristo
источник
3
Для локальных файлов он обычно ищет «магические» идентификаторы (или, по крайней мере, в направлении) начала содержимого. Если он этого не найдет, он, как правило, будет смотреть на имя. Для вещей из Интернета, MIME-типы обычно используются для определения типа контента.
Джерри Гроб

Ответы:

4

Если вы говорите о «расширении», оно находится в названии файла.

Однако эта информация используется ОС для запуска определенного приложения, например, Safari / Chrome / Firefox для файлов, заканчивающихся на .html.

Затем приложение использует заголовок (первые несколько байтов) файла, чтобы увидеть, может ли он отображаться. Это может также интерпретировать это способом, который выводит ненужные данные. Например, если вы переименуете файл изображения (.jpg) с расширением .txt, ОС попытается открыть текстовый редактор по умолчанию (NotePad / TextEdit), чтобы открыть его. Редактор попытается интерпретировать его как текстовый файл и не покажет вам изображение.

Вы также упомянули «эту страницу». Эта страница передается по HTTP с superuser.com в ваш браузер. Заголовок HTTP должен указывать, что передаваемые данные - это text / html. Браузер интерпретирует его как HTML и отображает его. Тем не менее, браузеры очень сложны и простительны. Таким образом, даже если заголовок не говорит, что это за тип, он попытается угадать.

чип
источник