Почтовый сеpвеp
От Andrew Kant (2:469/83.1) к Slawa Olhovchenkov
В ответ на Заголовок предыдущего сообщения в треде (Имя Автора)
Hello Slawa!
Monday April 06 2009 10:13, Slawa Olhovchenkov wrote to Andrew Kant:
AC>>>>>>> Так что я бы сказал, что единственная засада FTP по сравнению
AC>>>>>>> с HTTP - это проблемы с NAT, и те уже встречаются крайне
AC>>>>>>> редко. Изначально
AO>>>>>> Одной проблемы с русскими именами файлов - достаточно для того,
AO>>>>>> чтобы не использовать ftp. Заодно отламывается возможность хоть
AO>>>>>> что-то закачать на сервер. :)
EG>>>>> У ftp _нет_ проблем с русскими именами.
AO>>>> Вот ведь флеймер, блин. :) Понятно, что проблема вылезает у
AO>>>> клиентов... Hо виноват - протокол, не умеющий UTF8 имена.
EG>>> У протокола ftp _нет_ проблем с UTF8.
AK>> Он хотел сказать, что данным протоколом ты не можешь объяснить
AK>> клиенту, в какой именно кодировке ты ему отдаёшь русские имена.
AK>> Через http это возможно.
SO> через http это тоже невозможно
Описание протокола HTTP (rfc2068, ну или более поздний, если он устарел, но это
не принципиально), раздел 2, описание того, как кодируются литералы:
Правило TEXT используется только для описательного содержимого поля
и значений, которые не предназначены, для интерпретации
синтаксическим анализатором сообщений. Слова *TEXT могут содержать
символы из наборов символов (character sets), отличных от
ISO 8859-1 [22], только когда они закодированы согласно правилам
RFC 1522 [14].
раздел 4, описание того, как кодируются заголовки:
message-header = field-name ":" [ field-value ] CRLF
field-name = token
field-value = *( field-content | LWS )
field-content = <октеты, составляющие значение поля и
состоящие или из *TEXT или из комбинаций
лексем, tspecials, и quoted-string>
RFC1522, описание того, как кодируются ... кодированные слова :)
2. Syntax of encoded-words
An "encoded-word" is defined by the following ABNF grammar. The
notation of RFC 822 is used, with the exception that white space
characters MAY NOT appear between components of an encoded-word.
encoded-word = "=?" charset "?" encoding "?" encoded-text "?="
charset = token ; see section 3
encoding = token ; see section 4
token = 1*<Any CHAR except SPACE, CTLs, and especials>
especials = "(" / ")" / "<" / ">" / "@" / "," / ";" / ":" / "
<"> / "/" / "[" / "]" / "?" / "." / "="
encoded-text = 1*<Any printable ASCII character other
than "?" or SPACE>
; (but see "Use of encoded-words in message
; headers", section 5)
Мне кажется, этого вполне достаточно, чтоб указать значение заголовка
Content-Disposition: filename= в любой кодировке и указать в какой именно.
Считаю данный вопрос исчерпанным :)
Good bye!
Andrew
--- GoldED+/W32 1.1.4.7
* Origin: * KAA * (2:469/83.1)
Ответы на это письмо:
From: Username
Заголовок следующего сообщения в треде может быть длинным и его придется перенести на новую строку
From: Username
Или коротким