ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Конец строки в POST



In <14055.55466.845087.413350@ran.pirit.ru> Artem Chuprina (ran@pirit.com) 
wrote:
>>>>>> On Thu, 11 Mar 1999 17:47:53 +0300 (MSK), Victor B Wagner <vitus@ice.ru> 
>said:

 >>> Народ, кто читал стандарты, скажите, в POST при multipart/form-data все
 >>> обязаны заканчивать строку \r\n, или не столь обязательно, и кто-то
 >>> имеет право сказать просто \n?  Не хотелось бы напороться.  Браузер, не
 >>> соответствующий стандарту -- проблемы юзера, а вот соответствующий --
 >>> мои...

 VBW>> А тебе надо руками разбирать multipart/form-data?
 VBW>> Я подозреваю, что автор CGI.pm стандарты читал и знает это лучше нас.

AC> Во-первых, CGI, кажется, не умеет multipart/form-data,

Что за поклепы ? Он умеет multipart/form-data уже больше двух лет. Чем я
и пользовался неоднократно.

AC> во-вторых, что более серьезно, меня совершенно не устраивает его
AC> функциональность, и потому я им не пользуюсь.

Гм. А что в нем так уж криво ?

AC> Поднимать его ради разбора multipart/form-data, если он ее
AC> умеет -- нафиг, нафиг.

Мы лучше свой велосипед построим ! "Национальная гордость великороссов" ?

 VBW>> Вообще, написать код, который понимает все три вида концов строк -
 VBW>> несложно,

AC> Но длинно.

RFC1867 ссылается на MIME, где все строки должны кончаться на CRLF. Соблюдают
ли все browser'ы это требование -- бог весть... То, что MS IE стандарты не
соблюдает (и посылает-таки \n -- сам на это нарывался :-) -- это уже как бы
добрая традиция, а вот есть ли кто-нибудь еще -- не знаю...

 VBW>> а поля типа textarea и file все равно должны Content-Length
 VBW>> иметь.

Кто сказал ? В RFC1867 про это ничего нет. Говорится про то, что для
ВСЕГО этого Content-Length ЖЕЛАТЕЛЬНО указать, но даже и этого не требуется...

AC> Знаешь, ни нетшкаф, ни lynx (последний только применительно к textarea,
AC> ибо не умеет <input type=file>) об этом не знают.  Есть общее
AC> Content-Length на всю форму и boundary.  Мои эксперименты с нетшкафом и
AC> линксом показали, что оба отдают \r\n в концах строк.  Lynx еще говорит
AC> Content-type каждому полю, нетшкаф и этого не делает.

Он и не обязан :-) Зато ты обязан склеивать строки, разбираться с commenets
и quoted-strings (RFC2045, Appendix A; RFC822, 3.4.8, 3.4.3 и 3.4.5)...

А есть еще ошибки Netscape'а (он неправ, забывая обрабатывать кавычки в
именах файлов, но жаловаться-то будут тебе :-) и MS IE (MS IE для Mac'а
забывает добавлять "--" к boundary :-)

В общем изобретение велосипеда -- вещь похвальная, но хлопотная...



=============================================================================
=               Apache-Talk@lists.lexa.ru mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =



 




Copyright © Lexa Software, 1996-2009.