Raw header adalah bagian pertama dari sebuah file, ditampilkan byte demi byte, bukan sebagai kolom metadata bernama. Banyak format file dimulai dengan pola byte tetap, yang sering disebut signature atau magic number. Program membaca pola tersebut untuk mengetahui jenis file tersebut.
Dalam laporan metadata, kolom Raw Header menampilkan byte-byte ini sebagai angka heksadesimal. Setiap pasangan karakter, seperti 89 atau FF, mewakili 1 byte.
Sebuah email juga memiliki bagian header di bagian atas, dengan kolom seperti From, To, dan Subject. Artikel ini membahas header dari sebuah file.
Seperti apa tampilan nilainya
Heksadesimal, atau basis 16, menuliskan setiap byte sebagai 2 karakter dari digit 0 sampai 9 dan huruf A sampai F. Karena itu, sebuah byte dapat memiliki nilai apa pun dari 00 sampai FF.
Dalam kode karakter ASCII, nilai 21 sampai 7E mewakili huruf, angka, dan tanda baca, dan 20 adalah spasi. Nilai di bawah 20 adalah kode kontrol, dan 00 adalah karakter semua nol yang disebut NUL.
Cara membaca raw header sebagai teks
Untuk mengubah raw header menjadi teks, cari setiap byte di tabel ASCII. Hanya byte dari 20 sampai 7E yang mewakili karakter ASCII yang terlihat atau spasi. Byte lain tidak, sehingga Anda sering hanya dapat membaca sebagian header.
25 50 44 46 2Ddibaca sebagai tanda persen, huruf PDF, dan tanda hubung.89 50 4E 47berisi hurufPNGpada byte ke-2 hingga ke-4.
Nilai umum
Format umum diawali dengan signature berikut:
- Gambar PNG:
89 50 4E 47 0D 0A 1A 0A - Gambar JPEG:
FF D8 FF, di manaFF D8menandai awal gambar - Gambar GIF:
47 49 46 38, lalu39 61atau37 61(GIF89a atau GIF87a) - Dokumen PDF:
25 50 44 46 2D, lalu versinya, misalnya 1.7 - Gambar TIFF, little-endian:
49 49 2A 00(II, lalu angka 42) - Gambar TIFF, big-endian:
4D 4D 00 2A(MM, lalu angka 42) - Arsip ZIP, dan file Office berbasis ZIP seperti DOCX:
50 4B 03 04(PK) - Audio MP3 dengan tag ID3v2:
49 44 33(ID3) - Audio WAV:
52 49 46 46(RIFF), 4 byte yang bervariasi, lalu57 41 56 45(WAVE) - Video MP4: ukuran 4 byte, lalu
66 74 79 70(ftyp)
Dalam file TIFF, 2 byte pertama juga menentukan urutan byte untuk angka di dalam file. Dalam file PDF, karakter setelah signature menunjukkan versi PDF, tetapi entri di bagian lain file dapat menggantikannya.
File mana yang membawanya
Setiap file memiliki raw header, tetapi tidak setiap format memiliki signature. File teks biasa dimulai langsung dengan teksnya. Program mengenalinya karena byte-byte pertamanya hanya berisi karakter teks.
Mengapa ini penting
Ekstensi nama file hanyalah bagian dari nama, dan siapa pun dapat mengubahnya. Header dapat mengungkap jenis file dan jenis MIME yang sebenarnya bahkan ketika ekstensinya salah.
Sebuah web server mungkin tidak mengirim jenis MIME, atau browser mungkin menganggap jenis yang diterima salah. Browser kemudian dapat membandingkan byte-byte pertama dengan tabel pola yang dikenal. Perintah Unix file mencari magic number di dekat awal file.
Header juga membantu Anda mendeteksi masalah. Jika sebuah file bernama photo.png tidak dimulai dengan 89 50 4E 47, berarti file tersebut tidak mengikuti format PNG. Awal file mungkin rusak, atau file tersebut mungkin jenis lain dengan ekstensi yang salah.
Header yang hanya terdiri dari byte 00 tidak cocok dengan signature umum apa pun. Namun file MP4 dapat dimulai dengan 00, karena ukuran kecil pada 4 byte pertamanya dimulai dengan nol. Ketika tidak ada yang cocok dan byte-byte tersebut bukan teks, browser memperlakukan file sebagai application/octet-stream.