Como o tipo mime de um arquivo enviado é determinado pelo navegador?

Eu tenho um aplicativo da web onde o usuário precisa fazer o upload de um arquivo .zip. No lado do servidor, eu estou verificando o tipo de mime do arquivo enviado, para se certificar de que éapplication/x-zip-compressed ouapplication/zip.

Isso funcionou bem para mim no Firefox e no IE. No entanto, quando um colega de trabalho o testou, ele falhou no Firefox (o tipo mime enviado era algo como "application/octet-stream") mas funcionou no Internet Explorer. Nossas configurações parecem ser idênticas: IE8, FF 3.5.1 com todos os complementos desativados, Win XP SP3, WinRAR instalado como manipulador de arquivos .zip nativo (não tenho certeza se isso é relevante).

Então minha pergunta é:Como o navegador determina qual tipo de mime enviar?

Por favor, note: Eu sei que o tipo MIME é enviado pelo navegador e, portanto, não confiável. Eu estou apenas verificando isso como uma conveniência - principalmente para dar uma mensagem de erro mais amigável do que aquelas que você consegue ao tentar abrir um arquivo não-zip como um arquivo zip, e para evitar carregar as bibliotecas de arquivos zip (presumivelmente pesadas).

questionAnswers(6)

yourAnswerToTheQuestion