<?xml version="1.0" encoding="KOI8-R"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="ru" xml:lang="ru"><head><!--
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
              This file is generated from xml source: DO NOT EDIT
        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
      -->
<title>Переход от версии 1.3 к версии 2.0 - HTTP сервер Apache</title>
<link href="./style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
<link href="./style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
<link href="./style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" />
<link href="./images/favicon.ico" rel="shortcut icon" /></head>
<body id="manual-page"><div id="page-header">
<p class="menu"><a href="./mod/">Модули</a> | <a href="./mod/directives.html">Директивы</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Глоссарий</a> | <a href="./sitemap.html">Карта сайта</a></p>
<p class="apache">HTTP сервер Apache версии 2.0</p>
<img alt="" src="./images/feather.gif" /></div>
<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="./images/left.gif" /></a></div>
<div id="path">
<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">HTTP сервер</a> &gt; <a href="http://httpd.apache.org/docs/">Документация</a> &gt; <a href="./">Версия 2.0</a></div><div id="page-content"><div id="preamble"><h1>Переход от версии 1.3 к версии 2.0</h1>
<div class="toplang">
<p><span>Доступные языки: </span><a href="./de/upgrading.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/upgrading.html" title="Russian">&nbsp;ru&nbsp;</a></p>
</div>

  <p>Этот документ необходим для того, чтобы помочь пользователям
  перейти к использованию сервера версии 2.0. Здесь вы найдёте лишь
  краткие замечания; более подробную информацию о нововведениях можно
  найти либо в документе <a href="new_features_2_0.html">Новые возможности</a>, либо в файле <code>src/CHANGES</code>.</p>
</div>
<div id="quickview"><ul id="toc"><li><img alt="" src="./images/down.gif" /> <a href="#compile-time">Изменения в конфигурировании процесса сборки сервера</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#run-time">Изменения в конфигурировании работы сервера</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#misc">Другие изменения</a></li>
<li><img alt="" src="./images/down.gif" /> <a href="#third-party">Модули сторонних разработчиков</a></li>
</ul><h3>См. также</h3><ul class="seealso"><li><a href="new_features_2_0.html">Обзор новых возможностей
в Apache 2.0</a></li></ul></div>
<div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="compile-time" id="compile-time">Изменения в конфигурировании процесса сборки сервера</a></h2>
    

    <ul>
      <li>Apache теперь использует систему <code>autoconf</code> и
      <code>libtool</code> для <a href="install.html">конфигурирования процесса сборки</a>.
      Использование этой системы похоже на использование
      APACI в Apache 1.3, хотя и не является абсолютно тем же самым.</li>

      <li>В добавок к обычному списку модулей, которые вы можете
      выбрать при сборке сервера, в Apache 2.0 появились <a href="mpm.html">мульти - процессные модули</a> (МП - модули), в которых теперь
      сконцентрирована основная часть кода, отвечающего за обработку
      запросов.</li>
    </ul>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="run-time" id="run-time">Изменения в конфигурировании работы сервера</a></h2>
    

    <ul>
      <li>Многие из тех директив, которые обслуживались ядром сервера
      Apache 1.3, теперь перенесены в мульти - процессные модули. Если вы
      хотите, чтобы поведение сервера было наиболее приближено к поведению
      Apache 1.3, то при сборке вы должны выбрать МП-модуль
      <code class="module"><a href="./mod/prefork.html">prefork</a></code>. Другие МП-модули предоставляют
      иные директивы, отвечающие за работу процессов сервера и обработку
      запросов.</li>

      <li><a href="mod/mod_proxy.html">Прокси модуль</a> был переписан,
      и теперь поддерживает спецификацию HTTP/1.1. Одним из наиболее
      важных изменений является то, что директивы, контролирующие работу
      модуля, теперь располагаются в секции <code class="directive"><a href="./mod/mod_proxy.html#proxy">&lt;Proxy&gt;</a></code>, а не в
      &lt;Directory proxy:&gt;, как это было ранее.</li>

      <li>Обработка <code>PATH_INFO</code> (путевой информации, следующей за
      именем запрашиваемого документа) изменилась для некоторых модулей.
      Модули, которые раньше были написаны как обработчики (handler), а
      теперь выполняют роль фильтров, могут более не принимать запросы,
      содержащие <code>PATH_INFO</code>. Такие фильтры, как <a href="mod/mod_include.html">INCLUDES</a> или <a href="http://www.php.net/">PHP</a> реализованы первыми в базовом
      обработчике, таким образом они не могут принимать запросы, содержащие
      <code>PATH_INFO</code>. Вы можете использовать директиву <code class="directive"><a href="./mod/core.html#acceptpathinfo">AcceptPathInfo</a></code>, чтобы заставить базовый
      обработчик принимать подобные запросы, и таким образом восстановить
      возможность использования <code>PATH_INFO</code> в документах,
      использующих включения на стороне сервера (SSI).</li>

      <li>Директива <code class="directive"><a href="./mod/mod_negotiation.html#cachenegotiateddocs">CacheNegotiatedDocs</a></code>
      теперь может принимать аргументы <code>on</code> и
      <code>off</code>. Уже существующие экземпляры директивы
      <code class="directive">CacheNegotiatedDocs</code> должны быть заменены на
      <code>CacheNegotiatedDocs on</code>.</li>

      <li>
        Директива <code class="directive"><a href="./mod/core.html#errordocument">ErrorDocument</a></code>
        более не использует открывающую кавычку в начале аргумента
        для обозначения того, что аргумент является текстовым сообщением.
        Вместо этого вам необходимо заключать весь текст сообщения
        в двойные кавычки. Например, существующие директивы

        <div class="example"><p><code>
          ErrorDocument 403 "Некоторое сообщение
        </code></p></div>
        должны быть заменены на

        <div class="example"><p><code>
          ErrorDocument 403 "Некоторое сообщение"
        </code></p></div>
        Если второй аргумент не является правильно оформленным
        идентификатором ресурса (URL) или путевым именем, то он
        будет интерпретироваться как текстовое сообщение.
      </li>

      <li>Директивы <code>AccessConfig</code> и
      <code>ResourceConfig</code> более не существуют.
      Имеющиеся их копии могут быть заменены директивой
      <code class="directive"><a href="./mod/core.html#include">Include</a></code>, которая имеет
      ту же функциональность. Если прежде вы не включали их в конфигурационные
      файлы, тем самым используя их значения по умолчанию, то сейчас,
      для достижения того же результата, вам надо
      добавить следующие строки в файл httpd.conf: <code>Include conf/access.conf</code> и <code>Include
      conf/srm.conf</code>. Для того чтобы быть уверенным в том, что
      Apache считывает конфигурационные файлы именно в том порядке,
      который был предусмотрен старыми директивами, надо поместить
      директивы <code>Include</code> в конце файла httpd.conf, причём
      сперва ту, что включает <code>srm.conf</code>, а затем ту, что
      включает <code>access.conf</code>.</li>

      <li>Директивы <code>BindAddress</code> и <code>Port</code>
      более не существуют. Эквивалентная функциональность предоставляется
      более гибкой директивой <code class="directive"><a href="./mod/mpm_common.html#listen">Listen</a></code>.
      </li>

      <li>В Apache 1.3 директива <code>Port</code>
      использовалась, кроме всего прочего, для того чтобы сервер
      мог формировать правильные ссылки на самого себя. В Apache 2.0 для
      тех же целей служит новый синтаксис директивы <code class="directive"><a href="./mod/core.html#servername">ServerName</a></code>: он был изменён таким образом, что теперь
      имя хоста <em>и</em> номер порта можно указывать в одной этой директиве.</li>

      <li>Директива <code>ServerType</code> более не существует.
      Метод обработки запросов теперь определяется посредством
      выбора МП-модуля. В настоящее время нет такого МП-модуля,
      который мог бы запускаться посредством демона inetd.</li>

      <li>Модули <code>mod_log_agent</code> и <code>mod_log_referer</code>, которые предоставляли
      такие директивы, как <code>AgentLog</code>, <code>RefererLog</code>
      и <code>RefererIgnore</code>, были убраны. Ведение журнала агентов
      пользователей (agent logs) и отправителей (referer logs) по-прежнему
      возможно посредством использования директивы <code class="directive"><a href="./mod/mod_log_config.html#customlog">CustomLog</a></code> модуля <code class="module"><a href="./mod/mod_log_config.html">mod_log_config</a></code>.</li>

      <li>Директивы <code>AddModule</code> и
      <code>ClearModuleList</code> более не существуют. Они использовались
      для обеспечения правильного порядка загрузки модулей. Новый API для
      Apache 2.0 позволяет модулям самим указывать порядок их загрузки, что
      делает эти директивы ненужными.</li>

      <li>Директива <code>FancyIndexing</code> была убрана. Ее функциональность
      теперь обеспечивается опцией <code>FancyIndexing</code> в директиве <code class="directive"><a href="./mod/mod_autoindex.html#indexoptions">IndexOptions</a></code></li>
      
      <li>Алгоритмы контентной негоциации (content-negotiation),
      реализуемые модулем <code class="module"><a href="./mod/mod_negotiation.html">mod_negotiation</a></code>,
      стали более строгими в той части, где определяются файлы по умолчанию.
      Теперь эти алгоритмы будут выбирать файлы только из списка
      <em>доступных (negotiable)</em> файлов. Старое поведение может
      быть восстановлено директивой <code class="directive"><a href="./mod/mod_mime.html#multiviewsmatch">MultiviewsMatch</a></code>.</li>

      <li>(<em>начиная с версии 2.0.51</em>)
      <p>Функциональность директивы <code>ErrorHeader</code> была
      передана директиве <code class="directive"><a href="./mod/mod_headers.html#header">Header</a></code>,
      потому что прежнее название директивы было некорректно.
      Теперь необходимо писать</p>

      <div class="example"><p><code>
        Header always set foo bar
      </code></p></div>

      <p>чтобы получить желаемый результат.</p></li>
    </ul>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="misc" id="misc">Другие изменения</a></h2>
    

    <ul>
      <li>Модуль <code class="module"><a href="./mod/mod_auth_digest.html">mod_auth_digest</a></code>, который имел экспериментальный статус в
      Apache 1.3, теперь является стандартным модулем.</li>

      <li>Модуль <code>mod_mmap_static</code>, который имел экспериментальный статус в
      Apache 1.3, заменён модулем <code class="module"><a href="./mod/mod_file_cache.html">mod_file_cache</a></code>.</li>

      <li>Организация дистрибутива полностью изменена и теперь
      более не содержит независимого каталога <code>src</code>. Вместо этого
      исходные коды логически организованы в основном каталоге дистрибутива, а
      установка скомпилированного сервера производится в отдельный каталог.</li>
    </ul>
  </div><div class="top"><a href="#page-header"><img alt="top" src="./images/up.gif" /></a></div>
<div class="section">
<h2><a name="third-party" id="third-party">Модули сторонних разработчиков</a></h2>
    

    <p>Значительные изменения были внесены в API для Apache 2.0.
    Существующие модули, написанные с использованием Apache 1.3 API,
    <strong>не</strong> будут работать под Apache 2.0, если не внести
    в них необходимые изменения. Более подробная информация по этому поводу
    доступна в <a href="developer/">документации для разработчиков</a>.</p>
  </div></div>
<div class="bottomlang">
<p><span>Доступные языки: </span><a href="./de/upgrading.html" hreflang="de" rel="alternate" title="Deutsch">&nbsp;de&nbsp;</a> |
<a href="./en/upgrading.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
<a href="./es/upgrading.html" hreflang="es" rel="alternate" title="Espa&#241;ol">&nbsp;es&nbsp;</a> |
<a href="./fr/upgrading.html" hreflang="fr" rel="alternate" title="Fran&#231;ais">&nbsp;fr&nbsp;</a> |
<a href="./ja/upgrading.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
<a href="./ko/upgrading.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
<a href="./ru/upgrading.html" title="Russian">&nbsp;ru&nbsp;</a></p>
</div><div id="footer">
<p class="apache">Copyright 2006 The Apache Software Foundation.<br />Licensed under the <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
<p class="menu"><a href="./mod/">Модули</a> | <a href="./mod/directives.html">Директивы</a> | <a href="./faq/">FAQ</a> | <a href="./glossary.html">Глоссарий</a> | <a href="./sitemap.html">Карта сайта</a></p></div>
</body></html>