Tuesday, 5 May 2009

http: русские буквы в http заголовках

Сегодня благодаря рассылке nginx-ru я внимательно прочитал rfc 2616.

Как оказалось, можно. Вот пара цитат, чтобы не забыть почему:

   OCTET          = <any 8-bit sequence of data>
   CHAR           = <any US-ASCII character (octets 0 — 127)>
   CTL            = <any US-ASCII control character
                    (octets 0 — 31) and DEL (127)>
   CR             = <US-ASCII CR, carriage return (13)>
   LF             = <US-ASCII LF, linefeed (10)>
   SP             = <US-ASCII SP, space (32)>
   HT             = <US-ASCII HT, horizontal-tab (9)>

   CRLF           = CR LF

   LWS            = [CRLF] 1*( SP | HT )

   TEXT           = <any OCTET except CTLs,
                    but including LWS>

   message-header = field-name ":" [ field-value ]
   field-name     = token
   field-value    = *( field-content | LWS )
   field-content  = <the OCTETs making up the field-value
                    and consisting of either *TEXT or combinations
                    of token, separators, and quoted-string>

Максим Дунин подбросил ссылку:

 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.

Т.е. они пытаются задокументировать проблему и не рекомендуют использовать 8битные символы вообще. Т.е. формально их можно использовать, но для клиентов — это будет делать, наверное, только самоубийца.

Write on: 19:50 | 3 comments | | tags: , | permalink |
Add post to:   Delicious Reddit Slashdot Digg Technorati Google


Add comment

Pingbacks

Comments

Kerter 11.06.2009 20:32

Есть над чем подумать

reply
fynanc 19.06.2009 10:54

Думайте скорее, я тоже хочу.

reply
Evfrosin 14.07.2009 13:21

Интересно, продолжение будет?

reply

Comment form for «http: русские буквы в http заголовках»

Required. 30 chars of fewer.

Required.