Точно така. Internet explorer не разчита на сървъра, въпреки че в стандарта е указано друго. Той се опитва да познае файлът които се отваря, като го претърсва и гледа за типична последователност, която може да "оприличи" файла на някой известен тип.
Fiirefox от друга страна стриктно се придържа към спецификацията и разчита на хедърите изпратени от сървъра.
Ето например как изглеждат хедърите, върнати при заявка от този адрес, на който сървър настройките са както трябва:
http://chambg.awardspace.com/downloads/JS/SkypeContacts.rar
.
HTTP/1.1 200 OK
Date: Wed, 24 Oct 2007 11:38:22 GMT
Server: Apache
Last-Modified: Mon, 17 Sep 2007 10:16:29 GMT
ETag: "334430f1-6e7-190f3940"
Accept-Ranges: bytes
Content-Length: 1767
Connection: close
Content-Type: application/rar <--------Този ред казва, че се връща архив |
А ето как изглеждат хедърите, върнати от този адрес в data-та:
http://store3.data.bg/memmel/programs/BSPlayer%20Skins.rar
.
HTTP/1.1 200 OK
Date: Wed, 24 Oct 2007 11:40:45 GMT
Server: Apache
Last-Modified: Thu, 16 Feb 2006 12:13:33 GMT
ETag: "74277-1f8ca4-5b723540"
Accept-Ranges: bytes
Content-Length: 2067620
Connection: close
Content-Type: text/plain; charset=windows-1251 <-Този ред казва, че се връща прост текст |
В първият случай се връща - Content-Type: application/rar, браузъра реагира и се появява прозореца за сваляне.
Във вторият случай обаче, сървърът казва, че връщаният файл е текст, използващ кодова таблица windows-1251 (Content-Type: text/plain; charset=windows-1251), което очевидно за конкретния rar архив е пълна глупост.
Въпросният архив почва ето така:
Rar!?Пђs??
???????…gt`Ђ.?‚Й??т.?[Rkіўђ.3? ???MetalXP-V2.bsz
QUџ
Га?|ЕСпЊaр7Сє©©™ыўо¦цА»ь;tx±Dcў…,UU |
Internet Explorer като вижда съдържанието му (особено това, че започва с Rar!?Пђs??), взима нещата в свои ръце и решава че това не е текст, а е rar архив и реагира по съответният начин, показвайки прозорец за сваляне.
Mozilla разчита на това, че сървърът знае по-добре от клиента какво има при него и какво изпраща, вижда че сървърът казва че това е прост текст, и реагира по съответният начин, показвайки върнатото съдържание в прозореца си.
От тук и разликите в двата браузъра, когато тръгне да се дърпа rar архив от "неадекватни" сървъри.
Между другото, това е така например и за този линк: http://instr.hit.bg/WinRAR_Comment.rar което е вече hit.bg
А иначе, конкретно на въпросните сървъри на data.bg най вероятно някой ръчно е премахнал mime типа за rar архивите, и от там сървърът не знаейки какво точно е RAR, връща стандартен отговор за прост текст на български. Интересното е, че за zip архивите не са го махнали.