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"?
fonte
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"?
Eu recomendaria application/octet-stream
como 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.
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
:)
De acordo com a especificação RFC 2045 #Syntax do campo de cabeçalho do tipo de conteúdo application/myappname
não é permitido, mas application/x-myappname
é permitido e parece mais apropriado para sua aplicação.