Es liegt daran, wie ein Browser den Dateityp erkennt und wie ein Betreiber seinen Webserver konfiguriert hat.
Es gibt prinzipiell zwei Arten, wie ein Programm den Typ einer Datei erkennen kann:
1. Rein anhand der Endung.
So macht es DOS/Windows schon immer und OS X seit einigen Systemversionen. Hängt man eine falsche oder unbekannte Endung an, kann das Programm nix mit der Datei anfangen oder macht das falsche.
2. Anhand von zusätzlichen Metadaten.
Unter dem klassischen Mac OS und bei den ersten Versionen von OS X wurde bei einer Datei zusätzlich die Information Type/Creator benutzt, in der hinterlegt war, welchen Typ eine Datei hat. So war es völlig egal, ob und welche Endung dran hing. Daher auch öfter Probleme beim Austausch mit Win-Nutzern, wenn der Mac-Nutzer gar keine Endung verwendete...
Im WWW bei HTTP kann eine zusätzliche Information übertragen werden, welchen Typ eine Datei hat (MIME-Type). Oft wird auf einem Webserver aber dabei nur die Standardkonfiguration verwendet, die nur bestimmte Standardtypen kennt, aber z.B. keine FM-Dateien. Ist das nicht richtig konfiguriert, wird eine falsche Information zum Typ übermittelt.
Deine Beschreibung des Geschehens lässt mich folgendes vermuten:
- Firefox lädt die Datei, schaut sich die Endung an, kann damit nichts anfangen und stellt die daher nicht dar, sondern speichert sie einfach auf der Platte.
- Safari lädt die Datei, schaut sich den Mime-Type an, der ist vermutlich falsch und behauptet, dass es eine Textdatei sei, Textdateien kann Safari anzeigen und versucht es entsprechend.