🍋
Menu
General

File Header

Заголовок файла (магические байты)

Первые несколько байтов файла, содержащие сигнатуру, идентифицирующую формат файла, что позволяет программам определять истинный тип файла независимо от его расширения.

Техническая деталь

Магические байты — фиксированные последовательности байтов в начале (или по определённым смещениям) файла: PDF начинается с %PDF-, PNG — с 89 50 4E 47 (\x89PNG), JPEG — с FF D8 FF, ZIP — с 50 4B 03 04 (PK). Команда file в Unix и библиотека libmagic используют базу данных этих сигнатур для идентификации. Веб-серверы используют определение MIME-типа по магическим байтам при отсутствии заголовков Content-Type. Заголовок X-Content-Type-Options: nosniff запрещает браузерам переопределять объявленные MIME-типы.

Пример

```
File size reference:

  1 KB  = 1,024 bytes      ≈ a short paragraph of text
  1 MB  = 1,048,576 bytes   ≈ a 1-minute MP3 at 128 kbps
  1 GB  = 1,073,741,824 bytes ≈ 1 hour of HD video

  Web delivery targets:
  HTML page:  < 100 KB    Hero image: < 200 KB
  JavaScript: < 200 KB    Total page: < 2 MB
```

Связанные термины