application/octet-stream
Type MIME générique pour les données binaires arbitraires. Utilisé quand le type réel est inconnu ou non spécifié — force le téléchargement dans le navigateur.
Description
application/octet-stream est le type MIME générique pour les données binaires de type inconnu ou non spécifié. C’est le “type par défaut” pour les fichiers binaires. Quand un navigateur reçoit ce type MIME, il propose automatiquement le téléchargement du fichier — il ne tente pas de l’afficher, contrairement à image/png ou application/pdf.
Usage en HTML
Téléchargement d’un fichier binaire dont le type est inconnu :
<a href="/downloads/fichier.bin" type="application/octet-stream" download>
Télécharger le fichier
</a>
En-tête HTTP pour forcer le téléchargement d’un fichier :
Content-Type: application/octet-stream
Content-Disposition: attachment; filename="export.bin"
Génération d’un fichier à télécharger via JavaScript :
const donnees = new Uint8Array([72, 101, 108, 108, 111]);
const blob = new Blob([donnees], { type: 'application/octet-stream' });
const url = URL.createObjectURL(blob);
const a = document.createElement('a');
a.href = url;
a.download = 'fichier.bin';
a.click();
URL.revokeObjectURL(url);
Notes
Téléchargement forcé : application/octet-stream est une technique courante pour forcer le téléchargement de n’importe quel fichier, même ceux que le navigateur pourrait afficher (images, PDF). Content-Disposition: attachment est cependant la méthode sémantiquement correcte.
Toujours préférer le type exact : si le type réel du fichier est connu, utiliser ce type plutôt que application/octet-stream. Les navigateurs utilisent le type MIME pour choisir l’application d’ouverture et peuvent le valider.
Blob en JavaScript : lors de la création de téléchargements côté client avec Blob et URL.createObjectURL(), application/octet-stream est courant pour les exports de données binaires.