Por que os tipos MIME são necessários se pudermos identificar tipos de arquivos por suas extensões?

4

Se os computadores das pessoas puderem decidir o que fazer com arquivos baseados em suas extensões (.pdf, .mp3, .docx, .dotx, etc.), por que os servidores da Web e aplicativos de email também precisam especificar um tipo MIME? / p>

Eu posso ver isso sendo útil se você quiser entregar um arquivo de maneira diferente do padrão (por exemplo, mostrar um arquivo .py ou .html como texto simples) ou se a extensão do arquivo não estiver registrada no computador cliente, mas na maioria dos casos, se estou criando um novo formato de arquivo (digamos .foobaz) e quero permitir que as pessoas compartilhem esses arquivos na web e por e-mail, não deveria ser suficiente confiar no cliente reconhecendo a extensão do arquivo? ?

    
por RexE 11.08.2010 / 20:31

5 respostas

2

O tipo Mime especifica claramente o uso pretendido do arquivo. As extensões de arquivo apenas indicam o conteúdo. Ambos podem estar errados. O DOC tem sido usado por vários editores de texto com uma variedade de formatos de arquivos internos.

As extensões falsas são usadas extensivamente para enganar as pessoas como o tipo de arquivo. Isso pode ser usado para malware de vários tipos. Isso também pode levar a bugs de segurança. Se myfile.txt for validado para segurança como um arquivo de texto e, posteriormente, a inspeção de conteúdo for executada como um executável, você poderá acabar com uma máquina infectada.

O Unix usa um bit executável para indicar qual arquivo pode ser executado. Os scripts podem começar com um caminho de destaque indicando qual interpretador deve executá-los. O comando file pode ser usado para determinar o tipo de arquivo de maneira confiável com ou sem extensão.

O uso de extensões para identificar qual uso de arquivo pode gerar ambiguidade. Se eu tiver myfile.exe, myfile.com, myfile.bat e myfile.cmd, que é executado se eu executar o comando myfile.

    
por 13.08.2010 / 22:44
3

Você está olhando para o caminho errado.

Um arquivo precisa de um tipo MIME para que um cliente saiba como lidar com o arquivo.

Sua pergunta também deve ser feita ao contrário:

Por que precisamos de extensões de arquivo se pudermos identificar tipos de arquivos pelo tipo MIME?

O que a resposta provavelmente deve fazer é mais fácil para os humanos identificarem o tipo de arquivo, observando o nome. Pode haver outras razões no Windows.

    
por 12.08.2010 / 01:10
2

Isso só acontece no mundo do Windows no mundo Unix. Os arquivos não precisam ter uma extensão, eles são identificados pelo tipo MIME.

    
por 11.08.2010 / 21:31
0

Como aplicativos pequenos e personalizados (personalizados) tendem a ser bastante liberais em relação às suas extensões de arquivo. Isso pode levar a extensões de arquivo usadas para representar vários tipos de arquivos.

Como não há garantia de que uma extensão de arquivo corresponde a um determinado tipo de arquivo, o receptor pode não ser capaz de identificar o tipo de arquivo e não conseguir obter o programa correto para abri-lo.

Além dos tipos MIME, há também outros sistemas para identificar arquivos, por exemplo, Magic Numbers. O que significa que as extensões de arquivo não são necessárias. As extensões de arquivo também podem ser renomeadas por usuários que não podem abrir os arquivos, o que significa que provavelmente entrarão em contato com o suporte.

    
por 13.08.2010 / 21:43
-1

Porque os usuários são estúpidos e renomeam os arquivos o tempo todo. Você não pode confiar em um nome de arquivo para ser nomeado corretamente. Ainda estou espantado com o número de pessoas que renomear someFile.xltm para someFile.xls e depois se perguntam por que o modelo de planilha eletrônica não funciona. O uso de nomes de arquivos pela Microsoft para determinar o tipo de conteúdo é uma fraqueza preguiçosa e um risco à segurança.

    
por 09.10.2017 / 14:38

Tags