что такое переменная среды http\_authorization?

<p><code>http\_authorization</code>, похоже, является переменной среды на стороне сервера, но какие это могут быть значения? есть ли примеры? это установлено некоторыми заголовками http?</p><p>кроме того, как это выглядит на стороне браузера, когда он запрашивает имя пользователя и пароль (это html-форма или это всплывающее окно, которое запрашивает имя пользователя и пароль (который является модальным и поэтому, если не нажимать ok или отмена, тогда в браузере нельзя нажать)).</p><p>обычно пользовательская форма входа будет post на сервер с post переменными, такими как</p><pre><code>username=peter&password=123 </code></pre><p>так о чем этот <code>http\_authorization</code>?</p>

<p>для того, чтобы мы оказались на одной странице, типичный запрос post выглядит примерно так:</p><pre> post/some/page http/1.1 <- строка запроса хост: www.example.com <-------------------\ пользователь-агент: mozilla/5.0 (macintosh; u; intel mac os x 10\_6\_6; ru-ru) < <a href="http://en.wikipedia.org/wiki/common\_gateway\_interface">заголовки content-length: 27 <-------------------/ ... некоторые другие заголовки ... <- пустая строка username = peter & password = 123 <- post данные, если есть </pre><p>переменные среды, начинающиеся с <code>http\_</code>, являются пережитком тех дней, когда --- (cgi-скрипты</a> были основным способом обслуживания динамического контента, и они указывают вашему серверному коду, что клиент предоставил определенный заголовок как часть запрос. из <a href="http://tools.ietf.org/html/rfc3875#section-4.1.18">cgi spec</a> :</p><blockquote> <p>мета-переменные с именами, начинающимися с "http\_", содержат значения, считанные из полей заголовка запроса клиента, если используется протокол http. имя поля заголовка http преобразуется в верхний регистр, все вхождения "-" заменяются на "<em>", и перед ним добавляется "http </em>". -менное имя.</p> </blockquote><p>заголовок <code>authorization:</code> используется в ряде механизмов аутентификации http; обычный поток это:</p><ol> <li>браузер пытается запросить страницу</li> <li>сервер отвечает "401 unauthorized" и заголовок <code>www-authenticate:</code>, содержащий схему и (иногда) вызов</li> <li>браузер запрашивает учетные данные пользователя, а затем повторно отправляет запрос с заголовком <code>authorization:</code>, содержащим ответ на запрос</li> </ol><p>точный формат запроса и ответа различается в зависимости от того, какая схема аутентификации используется; rfc2617 (с которым связан gpcz) охватывает "базовый" (наиболее распространенный, отправляет "username: password" в кодировке base64) и "дайджест" (содержит криптографический хеш), а <a href="http://www.innovation.ch/personal/ronald/ntlm.html">ntlm</a> - это еще один видел в некоторых средах windows.</p>

<p>подробное описание заголовка http-авторизации можно найти в rfc2617, расположенном по адресу <a href="http://www.ietf.org/rfc/rfc2617.txt">http://www.ietf.org/rfc/rfc2617.txt</a> , раздел 3.2.2.</p>

<p>также стоит отметить, что стандартная joomla! файл <code>.htaccess</code> содержит следующее правило для установки переменной среды <code>http\_authorization</code> на основе заголовка <code>authorization</code> в запросе:</p><pre><code>rewriterule .* - [e=http\_authorization:%{http:authorization}] </code></pre>