ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


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


  ПРОГРАММЫ 



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












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

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

Re: X-Accel-Redirect русски е имена файлов



Hello!

On Tue, May 05, 2009 at 07:54:58PM +0400, Kirill A. Korinskiy wrote:

> At Tue, 5 May 2009 18:33:13 +0400,
> Igor Sysoev <is@xxxxxxxxxxxxx> wrote:
> 
> > > > 
> > > > Выдавать "X-Accel-Redirect: /content/mp3download/Мара - самолеты.mp3".
> > > > 
> > > 
> > > А что мешает сделать urlencode для заголовков backend?
> > 
> > А зачем ? Чтобы поломать существующую совместимость ?
> > 
> 
> прочитал внимательно rfc 2616. Да, я не прав. Имя заголовка, да, не
> может быть 8 битным, а вот значение ? вполне.
> 
> Записал себе на память: 
> http://catap.ru/blog/2009/05/05/http-russian-letters-on-http-headers/

Не совсем так.  RFC2616 в этом месте внутренне противоречив - т.к. 
с одной стороны ссылается на RFC822 (который не позволяет ничего 
кроме ASCII), а с другой стороны приводит грамматику,
допускающую использование 8-битных символов в содержимом 
заголовков (очевидно никак не определяя, куда именно следует 
засунуть 8-й бит).

В httpbis это место обросло новой грамматикой и человекочитаемым 
абзацем про то что именно следует делать с 8-битными заголовками
(http://tools.ietf.org/html/draft-ietf-httpbis-p1-messaging-06#section-4.2):

     message-header = field-name ":" OWS [ field-value ] OWS
     field-name     = token
     field-value    = *( field-content / OWS )
     field-content  = *( WSP / VCHAR / obs-text )

   Historically, HTTP has allowed field-content with text in the ISO-
   8859-1 [ISO-8859-1] character encoding (allowing other character sets
   through use of [RFC2047] encoding).  In practice, most HTTP header
   field-values use only a subset of the US-ASCII charset [USASCII].
   Newly defined header fields SHOULD constrain their field-values to
   US-ASCII characters.  Recipients SHOULD treat other (obs-text) octets
   in field-content as opaque data.

Maxim Dounin



 




Copyright © Lexa Software, 1996-2009.