Почему Firefox предлагает загрузить файл, который POST'd для? - PullRequest
3 голосов
/ 13 мая 2010

Это самая необычная вещь.

Это от старого в доме CMS.

Когда я пытаюсь отправить свои изменения, он предлагает сохранить файл, связанный с атрибутом action формы.

Заголовки

Запрос

POST /~site/edit/articles/article_save.php?id=54 HTTP/1.1
Host: example.com
User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-us,en;q=0.5
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 115
Connection: keep-alive
Referer: http://example.com
Content-Type: multipart/form-data; boundary=---------------------------10102754414578508781458777923
Content-Length: 940
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="title"

Home Content
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="catid"

18
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="activecheck"

1
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="image"


-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="contentWidgToolbarSelectBlock"

<p>
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="content"

<p>Edit your article in this text box.</p>
-----------------------------10102754414578508781458777923
Content-Disposition: form-data; name="contentWidgEditor"

true
-----------------------------10102754414578508781458777923--

Ответ

HTTP/0.9 200 OK

А потом Firefox показывает ....

Firefox http://alexanderdickson.com/hosted/stackoverflow.com/firefox-prompt-save.png

Я не могу определить из заголовков ответа относительно , почему это побуждает открыть / сохранить. Это всегда работало. Все остальные файлы PHP на сайте работают нормально.

У кого-нибудь есть подсказка?

Спасибо

Обновление

Видимо, просто вылетает Safari.

Я добавил изображение в статью CMS и по какой-то неизвестной причине оно сохранилось правильно. Я не могу объяснить, почему.

Ответы [ 2 ]

4 голосов
/ 13 мая 2010

Может показаться, что веб-сервер считает, что ваш запрос не является запросом HTTP / 1.0 +, поэтому вернемся к доисторическому HTTP / 0.9, начиная с того момента, когда возникли опасения по поводу заголовков.

Следовательно, он возвращает ответ HTTP / 0.9. В ответе HTTP / 0.9 нет заголовка Content-Type, поэтому браузер не знает, какой тип файла возвращается, поэтому он обрабатывает его как application/octet-stream и выдает запрос на сохранение.

Как генерируется запрос и как вы его проверяете? Потому что это выглядит подозрительно:

Content-Length: 940
-----------------------------10102754414578508781458777923

Между этими двумя строками должен быть еще один символ новой строки. Двойной перевод строки необходим для обозначения конца заголовков.

(Подобные проблемы также могут возникать из-за того, что что-то в Windowsy на этой линии ест последовательности CRLF и превращает их в простые строки LF, не позволяя им работать в качестве концов строк HTTP / MIME.)

1 голос
/ 13 мая 2010

Почему ваш сервер возвращает HTTP / 0,9? Я не думаю, что это даже верно. Должно быть не менее HTTP/1.0

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...