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"?
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:
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.
talvez você possa usar:
application/x-binary
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.