Qual tipo MIME usar para um arquivo binário específico para o meu programa?


232

Meu programa usa seu próprio tipo de arquivo binário, portanto, presumo que não posso usar o tipo MIME text / plain, pois não é um arquivo ASCII de 7 bits.

Devo apenas chamá-lo de "application / myappname"?

Respostas:


362

Eu recomendaria application/octet-streamcomo o RFC2046 diz "O subtipo" octet-stream "é usado para indicar que um corpo contém dados binários arbitrários" e "A ação recomendada para uma implementação que recebe uma entidade" application / octet-stream "é simplesmente oferecer colocar os dados em um arquivo [...] ".

Eu acho que dessa maneira você obterá melhor tratamento de programas arbitrários, que podem vomitar ao encontrar seu tipo de mímica desconhecido.



6

Os cabeçalhos de tipo MIME são reconhecidos pelo navegador com a finalidade de identificar (rapidamente) um manipulador para usar o arquivo baixado como destino; por exemplo, o PDF seria baixado e o programa Adobe Reader seria executado com o caminho do arquivo PDF como um argumento,

Se você precisa escrever uma extensão do navegador para lidar com o arquivo baixado, através do sistema operacional, ou você simplesmente quer fazer um projeto com uma aparência mais 'profissional', vá em frente e selecione um tipo de mimet exclusivo para você usar, não há diferença, já que o sistema operacional não teria como abri-lo (alguns navegadores possuem poucos plug-ins incluídos, por exemplo, novas versões do Google Chrome possuem um leitor de PDF embutido),

se você quiser garantir que o arquivo seja baixado, consulte esta resposta: https://stackoverflow.com/a/34758866/257319

se você deseja tornar seu tipo de arquivo especialmente organizado, pode valer a pena adicionar algumas letras nos primeiros bytes do arquivo, por exemplo, todo JPG tem isso no início do arquivo:

se você puder pagar um salto de 4 ou 8 bytes, pode ser muito útil para você no resto do caminho

:)


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.