changeset 2543:f39c4724c0f8

Described multi-value headers in r.headersIn.
author Yaroslav Zhuravlev <yar@nginx.com>
date Tue, 19 May 2020 15:05:49 +0100
parents bde7cd9a1173
children 33347df1da9c
files xml/en/docs/njs/reference.xml xml/ru/docs/njs/reference.xml
diffstat 2 files changed, 62 insertions(+), 31 deletions(-) [+]
line wrap: on
line diff
--- a/xml/en/docs/njs/reference.xml
+++ b/xml/en/docs/njs/reference.xml
@@ -9,7 +9,7 @@
 <article name="Reference"
         link="/en/docs/njs/reference.html"
         lang="en"
-        rev="40">
+        rev="41">
 
 <section id="summary">
 
@@ -53,21 +53,36 @@ finishes sending a response to the clien
 <tag-desc>
 incoming headers object, read-only.
 <para>
-For example, the <literal>Foo</literal> header
-can be accessed with the syntax <literal>headersIn.foo</literal>
-or <literal>headersIn['Foo']</literal>
-<note>
-Before version <link doc="changes.xml" id="njs0.3.6">0.3.6</link>,
-for headers that could appear multiple times such as
-<header>Cookie</header> or <header>X-Forwarded-For</header>,
-only the first value was returned.
-To get all cookies,
-<literal>r.variables.http_cookie</literal>
-should be used.
-To get the <literal>name</literal> cookie,
-<literal>r.variables["cookie_<value>name</value>"]</literal>
-should be used.
-</note>
+The <literal>Foo</literal> request header
+can be accessed with the syntax:
+<literal>headersIn.foo</literal> or <literal>headersIn['Foo']</literal>.
+</para>
+
+<para>
+The 
+<header>Authorization</header>,
+<header>Content-Length</header>,
+<header>Content-Range</header>,
+<header>Content-Type</header>,
+<header>ETag</header>,
+<header>Expect</header>,
+<header>From</header>,
+<header>Host</header>,
+<header>If-Match</header>,
+<header>If-Modified-Since</header>,
+<header>If-None-Match</header>,
+<header>If-Range</header>,
+<header>If-Unmodified-Since</header>,
+<header>Max-Forwards</header>,
+<header>Proxy-Authorization</header>,
+<header>Referer</header>,
+<header>Transfer-Encoding</header>, and
+<header>User-Agent</header>
+request headers can have only one field value
+(<link doc="changes.xml" id="njs0.4.1">0.4.1</link>).
+Duplicate field values in <header>Cookie</header> headers
+are separated by semicolon (<literal>;</literal>).
+Duplicate field values in all other request headers are separated by commas.
 </para>
 </tag-desc>
 
--- a/xml/ru/docs/njs/reference.xml
+++ b/xml/ru/docs/njs/reference.xml
@@ -54,21 +54,37 @@
 <tag-desc>
 объект входящих заголовков, только чтение.
 <para>
-Например, доступ к заголовку <literal>Foo</literal>
-можно получить при помощи синтаксиса <literal>headersIn.foo</literal>
-или <literal>headersIn['Foo']</literal>
-<note>
-До версии <link doc="changes.xml" id="njs0.3.6">0.3.6</link>
-если заголовок был указан несколько раз, например
-<header>Cookie</header> или <header>X-Forwarded-For</header>,
-то возвращалось только первое значение.
-Чтобы получить все cookie
-необходимо использовать
-<literal>r.variables.http_cookie</literal>.
-Чтобы получить <literal>имя</literal> cookie
-необходимо использовать
-<literal>r.variables["cookie_<value>имя</value>"]</literal>.
-</note>
+Доступ к заголовку запроса <literal>Foo</literal>
+можно получить при помощи синтаксиса:
+<literal>headersIn.foo</literal> или <literal>headersIn['Foo']</literal>.
+</para>
+
+<para>
+Заголовки запроса
+<header>Authorization</header>,
+<header>Content-Length</header>,
+<header>Content-Range</header>,
+<header>Content-Type</header>,
+<header>ETag</header>,
+<header>Expect</header>,
+<header>From</header>,
+<header>Host</header>,
+<header>If-Match</header>,
+<header>If-Modified-Since</header>,
+<header>If-None-Match</header>,
+<header>If-Range</header>,
+<header>If-Unmodified-Since</header>,
+<header>Max-Forwards</header>,
+<header>Proxy-Authorization</header>,
+<header>Referer</header>,
+<header>Transfer-Encoding</header> и
+<header>User-Agent</header>
+могут иметь только одно значение поля
+(<link doc="changes.xml" id="njs0.4.1">0.4.1</link>).
+Дубликаты значений поля в заголовке запроса <header>Cookie</header>
+разделяются точкой с запятой (<literal>;</literal>).
+Дубликаты значений поля во всех остальных заголовках запроса
+разделяются запятой.
 </para>
 </tag-desc>