Я пишу API веб-приложений, где, когда кто-то обращается к URL-адресу, он возвращает текстовые данные. Я задал тип содержимого "text/plain", но когда я обращаюсь к нему с Chrome, он загружает файл, содержащий эту информацию, вместо отображения. Когда я обращаюсь к нему с IE, он отображается правильно, и когда я обращаюсь к Firefox, он говорит, что он пытается получить доступ к приложению/октету-потоку и спрашивает, хочу ли я загрузить файл.
Я записал то, что было возвращено веб-сервером с помощью TinyHTTPProxy, и оно выглядит следующим образом:
[2012-03-11 16:51:45.345] INFO {TinyHTTPProxy Thread-4} HTTP/1.1 200 OK
Content-Type: text/plain
Transfer-Encoding: chunked
Connection: close
Date: Mon, 05 Mar 2012 09:49:54 GMT
Server: localhost
[2012-03-11 16:51:45.345] INFO {TinyHTTPProxy Thread-4} 10b
P,FIO,7,31.5900,0.,,0,100,0,0,30.7600,31.9600,100,1000,,,0.,16:03:14t,,0,31.5900 ,1.2,,,15,n,,,,,03/09/2012,,31.2200,,,,-0.37,-0.37,0.274456994,,,,,0,,2846732.85 ,14,4,,3989502,BSE-CSE-NYSE-PSE-NMS,,,,,0,,,0,1155872,N,,26,26,26,16:03:14,5-7-10-11-12-13-18-25-26-28-80,0
Если я изменил тип контента на "application-json", он отобразится во всех браузерах. Кроме того, если я изменяю тип содержимого на "text/html", он также работает, хотя я не возвращаю HTML файл.
Есть ли объяснение, почему text/plain ведет себя таким образом? Я проверил, чтобы все возвращаемые данные были фактически ASCII, и поскольку я устанавливаю тип контента как текстовый/обычный, я смущен, почему он интерпретируется как application/octet-stream.