Архив метки: ошибка

Error 349

Chrome поумнел и начал ругаться на мой код отдачи контента: «Duplicate headers received from server»

The response from the server contained duplicate headers. This problem is generally the result of a misconfigured website or proxy. Only the website or proxy administrator can fix this issue.
Error 349 (net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION): Multiple Content-Disposition headers received. This is disallowed to protect against HTTP response splitting attacks.

Недоумение вызвало имеено то, что все остальные браузеры продолжали работать без нареканий. Пришлось обратиться к поиску высшего знания, ответ нашелся довольно быстро (https://github.com/prior/prawnto/pull/16):

This error was resolved by wrapping the filename in the content-disposition header in quotes.
WAS: "Content-Disposition"=>"attachment;filename=Name of your file.pdf"
NOW: "Content-Disposition"=>"attachment;filename=\"Name of your file.pdf\""

Слыхал я о Deep C (http://www.slideshare.net/olvemaudal/deep-c), но оказывается Deep HTTP тоже рулит, хехе. В моем случае, проблема была в неопределенности трактовки имени файла контента при наличии в нем хотя бы одного пробела. Кавычки расставил — проблема решена. Хотя странно, вроде бы неоднозначности там неоткуда взяться, между header-ами \r\n стоят. Видимо, я тот, кто ограничивается мороженым (смотреть ссылку про Deep C выше), хехе.