Quale tipo MIME utilizzare per un file binario specifico per il mio programma?


232

Il mio programma utilizza il proprio tipo di file binario, quindi presumo di non poter utilizzare il tipo MIME text / plain, in quanto non è un file ASCII a 7 bit.

Dovrei semplicemente chiamarlo "application / myappname"?

Risposte:


362

Vorrei raccomandare application/octet-streamcome RFC2046 dice "Il sottotipo" octet-stream "viene utilizzato per indicare che un corpo contiene dati binari arbitrari" e "L'azione raccomandata per un'implementazione che riceve un'entità" application / octet-stream "è semplicemente offrire per inserire i dati in un file [...] ".

Penso che in questo modo otterrai una migliore gestione da programmi arbitrari, che potrebbero rivelarsi inutili quando incontri il tuo tipo di mimo sconosciuto.



6

le intestazioni mimetype sono riconosciute dal browser allo scopo di identificare (velocemente) un gestore per utilizzare il file scaricato come destinazione, ad esempio il PDF verrebbe scaricato e il programma Adobe Reader verrebbe eseguito con il percorso del file PDF come un argomento,

Se hai bisogno di scrivere un'estensione del browser per gestire il tuo file scaricato, attraverso il tuo sistema operativo, o semplicemente vuoi farti proiettare un aspetto più 'professionale' vai avanti e selezionare un mimetype unico da usare, farebbe nessuna differenza poiché il sistema operativo non avrebbe alcun handle per aprirlo (alcuni browser hanno pochi plugin in bundle, ad esempio le nuove versioni di Google Chrome hanno un lettore PDF incorporato),

se vuoi assicurarti che il file venga scaricato, dai un'occhiata a questa risposta: https://stackoverflow.com/a/34758866/257319

se vuoi rendere il tuo tipo di file particolarmente organizzato, potrebbe essere utile aggiungere qualche lettera nei primi byte del file, ad esempio ogni JPG ha questo all'inizio del suo file:

se puoi permetterti un salto di 4 o 8 byte, potrebbe esserti molto utile per il resto

:)


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.