1) Вероятно, веб-браузер использует магические числа для определения типа файла, основываясь на первых нескольких байтах файла (обычно это какой-то заголовок для двоичных файлов).
Как вам известно, файлы Office 2007 упаковываются в zip-архивы, и поэтому браузер (когда в нем нет информации MIME для справки) начинает загрузку файла, видит заголовок zip и сохраняет его (или предлагает сохранить его) в виде zip-файла.
Мне кажется, что это странное поведение для браузера, я бы ожидал, что он сохранит имя файла (и расширение), как указано сервером, нокоторые могут различаться в разных браузерах и в зависимости от того, какой тип MIME предоставляется (или не предоставляется).
2) В качестве альтернативы сервер может делать то же самое, если с ним не связан тип MIME, связанный сконкретное расширение файла.Он может проверить начало файла и обнаружить, что он выглядит как zip-файл, поэтому передаст файл обратно клиенту с zip-типом MIME.
Вы можете исключить сервер, угадающий любой тип MIMEпутем проверки ответа HTTP или необработанных пакетов (на стороне сервера или клиента) с помощью чего-то вроде Wireshark .
3) Gzipping не будет проблемой, которая происходит на более низком уровне ине относится к типам MIME.