blob: a27b7b49595693c909b2f7ebe92ab9bdccb33417 [file] [log] [blame]
<?xml version="1.0" encoding="KOI8-R" ?>
<!DOCTYPE manualpage SYSTEM "./style/manualpage.dtd">
<?xml-stylesheet type="text/xsl" href="./style/manual.ru.xsl"?>
<!-- English Revision: 395231 -->
<!--
Copyright 2002-2005 The Apache Software Foundation or its licensors, as
applicable.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--***************************************************-->
<!-- Translator: Ilia Soldatenko (soldis@tversu.ru) -->
<!-- Reviewers: -->
<!-- Ivan Shvedov (ivan@tversu.ru) -->
<!-- Arthur Reznikov (art@altair.tversu.ru)-->
<!--***************************************************-->
<manualpage metafile="handler.xml.meta">
<title>éÓÐÏÌØÚÏ×ÁÎÉÅ ÏÂÒÁÂÏÔÞÉËÏ× × Apache</title>
<summary>
<p>üÔÏÔ ÄÏËÕÍÅÎÔ ÏÐÉÓÙ×ÁÅÔ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ÏÂÒÁÂÏÔÞÉËÏ× (handlers) × Apache.</p>
</summary>
<section id="definition">
<title>þÔÏ ÔÁËÏÅ ÏÂÒÁÂÏÔÞÉË</title>
<related>
<modulelist>
<module>mod_actions</module>
<module>mod_asis</module>
<module>mod_cgi</module>
<module>mod_imagemap</module>
<module>mod_info</module>
<module>mod_mime</module>
<module>mod_negotiation</module>
<module>mod_status</module>
</modulelist>
<directivelist>
<directive module="mod_actions">Action</directive>
<directive module="mod_mime">AddHandler</directive>
<directive module="mod_mime">RemoveHandler</directive>
<directive module="core">SetHandler</directive>
</directivelist>
</related>
<p>ïÂÒÁÂÏÔÞÉË Ñ×ÌÑÅÔÓÑ ×ÎÕÔÒÅÎÎÅÊ ÓÔÒÕËÔÕÒÏÊ
Apache, ËÏÔÏÒÁÑ ÚÁÄÁ£Ô ÐÏ×ÅÄÅÎÉÅ ÓÅÒ×ÅÒÁ ÐÒÉ ÏÂÒÁÂÏÔËÅ
ÚÁÐÒÁÛÉ×ÁÅÍÏÇÏ ÆÁÊÌÁ. ëÁË ÐÒÁ×ÉÌÏ, ËÁÖÄÏÍÕ ÆÁÊÌÕ ÓÏÏÔ×ÅÔÓÔ×ÕÅÔ
Ó×ÏÊ ×ÎÕÔÒÅÎÎÉÊ ÏÂÒÁÂÏÔÞÉË, ËÏÔÏÒÙÊ ÎÁÚÎÁÞÁÅÔÓÑ ÓÅÒ×ÅÒÏÍ
ÉÓÈÏÄÑ ÉÚ ÔÉÐÁ ÆÁÊÌÁ. ïÂÙÞÎÏ ÆÁÊÌÙ ÐÒÏÓÔÏ ×ÏÚ×ÒÁÝÁÀÔÓÑ
ÐÏÌØÚÏ×ÁÔÅÌÀ, ÎÏ ÎÅËÏÔÏÒÙÅ ÔÉÐÙ ÆÁÊÌÏ× ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ
ÏÂÒÁÂÁÔÙ×ÁÀÔÓÑ (handled) ÓÅÒ×ÅÒÏÍ.</p>
<p>÷ Apache 1.1 ÄÏÂÁ×ÌÅÎÁ ×ÏÚÍÏÖÎÏÓÔØ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÁÂÏÔÞÉËÉ
Ñ×ÎÏ. ðÒÉÞ£Í ÏÂÒÁÂÏÔËÁ ÆÁÊÌÏ× ÍÏÖÅÔ ÏÓÎÏ×Ù×ÁÔØÓÑ
ÔÅÐÅÒØ ÎÅ ÔÏÌØËÏ ÎÁ ÉÈ ÔÉÐÅ, ÎÏ É ÎÁ ÒÁÓÛÉÒÅÎÉÉ ÆÁÊÌÏ× ÉÌÉ
ÉÈ ÍÅÓÔÏÎÁÈÏÖÄÅÎÉÉ. üÔÏ ÐÒÅÄÓÔÁ×ÌÑÅÔÓÑ ÎÁÉÂÏÌÅÅ ÕÄÁÞÎÙÍ
ÒÅÛÅÎÉÅÍ, ×Ï-ÐÅÒ×ÙÈ ÐÏÔÏÍÕ, ÞÔÏ ÜÔÏ ÒÅÛÅÎÉÅ ÜÌÅÇÁÎÔÎÏ, Á
×Ï-×ÔÏÒÙÈ, ÜÔÏ ÐÏÚ×ÏÌÑÅÔ ÁÓÓÏÃÉÉÒÏ×ÁÔØ Ó ÆÁÊÌÏÍ ËÁË
ÔÉÐ, <strong>ÔÁË É</strong> ÏÂÒÁÂÏÔÞÉË. (óÍ. ÔÁËÖÅ
<a href="mod/mod_mime.html#multipleext">&#171;æÁÊÌÙ Ó ÎÅÓËÏÌØËÉÍÉ
ÒÁÓÛÉÒÅÎÉÑÍÉ&#187;</a>)</p>
<p>ïÂÒÁÂÏÔÞÉËÉ ÍÏÇÕÔ ÐÒÅÄÓÔÁ×ÌÑÔØ ÉÚ ÓÅÂÑ ËÁË
×ËÏÍÐÉÌÉÒÏ×ÁÎÎÙÅ × ÓÅÒ×ÅÒ (ÉÌÉ ÐÏÄËÌÀÞÁÅÍÙÅ Ó ÐÏÍÏÝØÀ
ÍÏÄÕÌÅÊ) ÆÕÎËÃÉÉ, ÉÌÉ ÏÎÉ ÍÏÇÕÔ ÂÙÔØ ÄÏÂÁ×ÌÅÎÙ Ó ÐÏÍÏÝØÀ
ÄÉÒÅËÔÉ×Ù <directive module="mod_actions">Action</directive>.
÷ ÓÔÁÎÄÁÒÔÎÏÍ ÄÉÓÔÒÉÂÕÔÉ×Å ÓÅÒ×ÅÒÁ ÉÍÅÀÔÓÑ ÓÌÅÄÕÀÝÉÅ ×ÓÔÒÏÅÎÎÙÅ
ÏÂÒÁÂÏÔÞÉËÉ:</p>
<ul>
<li><strong>default-handler</strong>: ðÏÓÙÌÁÅÔ ÆÁÊÌ, ÉÓÐÏÌØÚÕÑ ÆÕÎËÃÉÀ
<code>default_handler()</code>, ËÏÔÏÒÁÑ Ñ×ÌÑÅÔÓÑ ÏÂÒÁÂÏÔÞÉËÏÍ
ÐÏ-ÕÍÏÌÞÁÎÉÀ ÄÌÑ ÓÔÁÔÉÞÅÓËÉÈ ÆÁÊÌÏ×. (ÑÄÒÏ)</li>
<li><strong>send-as-is</strong>: ðÏÓÙÌÁÅÔ ÆÁÊÌ, ÓÏÄÅÒÖÁÝÉÊ ×
ÓÅÂÅ HTTP ÚÁÇÏÌÏ×ËÉ, ËÁË ÅÓÔØ. (<module>mod_asis</module>)</li>
<li><strong>cgi-script</strong>: ïÂÒÁÂÁÔÙ×ÁÅÔ ÆÁÊÌ ËÁË CGI-ÓËÒÉÐÔ.
(<module>mod_cgi</module>)</li>
<li><strong>imap-file</strong>: ïÂÒÁÂÁÔÙ×ÁÅÔ ÆÁÊÌ ËÁË ËÁÒÔÕ ÉÚÏÂÒÁÖÅÎÉÑ
(imagemap). (<module>mod_imagemap</module>)</li>
<li><strong>server-info</strong>: ÷ÏÚ×ÒÁÝÁÅÔ ËÏÎÆÉÇÕÒÁÃÉÏÎÎÕÀ
ÉÎÆÏÒÍÁÃÉÀ ÓÅÒ×ÅÒÁ. (<module>mod_info</module>)</li>
<li><strong>server-status</strong>: ÷ÏÚ×ÒÁÝÁÅÔ ÏÔÞÅÔ Ï ÓÏÓÔÏÑÎÉÉ
ÓÅÒ×ÅÒÁ. (<module>mod_status</module>)</li>
<li><strong>type-map</strong>: ïÂÒÁÂÁÔÙ×ÁÅÔ ÆÁÊÌ ËÁË ËÁÒÔÕ ÔÉÐÏ×
(type map). (<module>mod_negotiation</module>)</li>
</ul>
</section>
<section id="examples">
<title>ðÒÉÍÅÒÙ</title>
<section id="example1">
<title>ïÂÒÁÂÏÔËÁ ÓÔÁÔÉÞÅÓËÏÇÏ ÄÏËÕÍÅÎÔÁ CGI-ÓËÒÉÐÔÏÍ</title>
<p>ðÒÉ ÉÓÐÏÌØÚÏ×ÁÎÉÉ ÓÌÅÄÕÀÝÉÈ ÄÉÒÅËÔÉ×, ËÁÖÄÙÊ ÚÁÐÒÏÓ ÆÁÊÌÁ
Ó ÒÁÓÛÉÒÅÎÉÅÍ <code>html</code> ÂÕÄÅÔ ÚÁÐÕÓËÁÔØ ÎÁ ×ÙÐÏÌÎÅÎÉÅ
CGI-ÓËÒÉÐÔ <code>footer.pl</code> ÄÌÑ ÐÒÅÄ×ÁÒÉÔÅÌØÎÏÊ ÏÂÒÁÂÏÔËÉ
ÚÁÐÒÁÛÉ×ÁÅÍÏÇÏ ÆÁÊÌÁ.</p>
<example>
Action add-footer /cgi-bin/footer.pl<br/>
AddHandler add-footer .html
</example>
<p>÷ ÜÔÏÍ ÓÌÕÞÁÅÔ CGI-ÓËÒÉÐÔ ÏÔ×ÅÔÓÔ×ÅÎÅÎ ÚÁ ÔÏ, ÞÔÏÂÙ
×ÙÓÌÁÔØ ÐÏÌØÚÏ×ÁÔÅÌÀ ÚÁÐÒÏÛÅÎÎÙÊ ÄÏËÕÍÅÎÔ (ÎÁ ËÏÔÏÒÙÊ ÕËÁÚÙ×ÁÅÔ
ÐÅÒÅÍÅÎÎÁÑ ÏËÒÕÖÅÎÉÑ <code>PATH_TRANSLATED</code>), ÓÄÅÌÁ×
× Î£Í ÐÒÅÄ×ÁÒÉÔÅÌØÎÏ ×ÓÅ ÎÅÏÂÈÏÄÉÍÙÅ ÉÚÍÅÎÅÎÉÑ.</p>
</section>
<section id="example2">
<title>æÁÊÌÙ Ó HTTP ÚÁÇÏÌÏ×ËÁÍÉ</title>
<p>óÌÅÄÕÀÝÉÅ ÎÅÓËÏÌØËÏ ÄÉÒÅËÔÉ× ÚÁÓÔÁ×ÑÔ ×ÙÐÏÌÎÑÔØÓÑ ÏÂÒÁÂÏÔÞÉË
<code>send-as-is</code>, ËÏÔÏÒÙÊ ÉÓÐÏÌØÚÕÅÔÓÑ ÄÌÑ ÆÁÊÌÏ×, ÓÏÄÅÒÖÁÝÉÈ
Ó×ÏÉ ÓÏÂÓÔ×ÅÎÎÙÅ HTTP-ÚÁÇÏÌÏ×ËÉ. ÷ÓÅ ÆÁÊÌÙ × ËÁÔÁÌÏÇÅ
<code>/web/htdocs/asis/</code> ÂÕÄÕÔ ÏÂÒÁÂÁÔÙ×ÁÔØÓÑ ÏÂÒÁÂÏÔÞÉËÏÍ
<code>send-as-is</code>, ÎÅÚÁ×ÉÓÉÍÏ ÏÔ ÉÈ ÒÁÓÛÉÒÅÎÉÑ.</p>
<example>
&lt;Directory /web/htdocs/asis&gt;<br/>
SetHandler send-as-is<br/>
&lt;/Directory&gt;
</example>
</section>
</section>
<section id="programmer">
<title>úÁÍÅÞÁÎÉÅ ÄÌÑ ÐÒÏÇÒÁÍÍÉÓÔÏ×</title>
<p>äÌÑ ÔÏÇÏ ÞÔÏÂÙ ÍÏÖÎÏ ÂÙÌÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÁÂÏÔÞÉËÉ, ×
<a href="developer/API.html">Apache API</a> ÂÙÌÉ ×ÎÅÓÅÎÙ
ÎÅËÏÔÏÒÙÅ ÄÏÐÏÌÎÅÎÉÑ. ÷ ÞÁÓÔÎÏÓÔÉ, × ÓÔÒÕËÔÕÒÕ <code>request_rec</code>
ÂÙÌÏ ÄÏÂÁ×ÌÅÎÏ ÎÏ×ÏÅ ÐÏÌÅ:</p>
<example>
char *handler
</example>
<p>åÓÌÉ ×Ù ÈÏÔÉÔÅ × Ó×Ï£Í ÍÏÄÕÌÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÏÂÒÁÂÏÔÞÉË,
ÔÏ ×Ó£, ÞÔÏ ×ÁÍ ÎÁÄÏ ÓÄÅÌÁÔØ, ÜÔÏ ÚÁÐÉÓÁÔØ × <code>r-&gt;handler</code>
ÉÍÑ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÅÇÏ ÏÂÒÁÂÏÔÞÉËÁ, ÐÒÉÞ£Í ÓÄÅÌÁÔØ ÜÔÏ ÎÅÏÂÈÏÄÉÍÏ
ÐÅÒÅÄ ÔÅÍ, ËÁË ÚÁÐÒÏÓ ÄÏÈÏÄÉÔ ÄÏ ÓÔÁÄÉÉ <code>invoke_handler</code>.
ïÂÒÁÂÏÔÞÉËÉ ÒÅÁÌÉÚÕÀÔÓÑ ÔÏÞÎÏ ÔÁË ÖÅ, ËÁË É ÒÁÎØÛÅ,
ÚÁ ÉÓËÌÀÞÅÎÉÅÍ ÌÉÛØ ÔÏÇÏ, ÞÔÏ ÔÅÐÅÒØ ÎÅÏÂÈÏÄÉÍÏ ÕËÁÚÙ×ÁÔØ
ÉÍÑ ÏÂÒÁÂÏÔÞÉËÁ, Á ÎÅ ÔÉÐ ÓÏÄÅÒÖÉÍÏÇÏ (content type).
èÏÔÑ ÜÔÏ É ÎÅ Ñ×ÌÑÅÔÓÑ ÏÂÑÚÁÔÅÌØÎÙÍ, ÎÏ ÓÕÝÅÓÔ×ÕÀÔ ÓÌÅÄÕÀÝÉÅ
ÐÒÁ×ÉÌÁ ÉÍÅÎÏ×ÁÎÉÑ ÏÂÒÁÂÏÔÞÉËÏ× - ÎÅÏÂÈÏÄÉÍÏ ÉÓÐÏÌØÚÏ×ÁÔØ
ÓÌÏ×Á, ÒÁÚÄÅÌ£ÎÎÙÅ ÄÅÆÉÓÏÍ É ÎÅ ÓÏÄÅÒÖÁÝÉÅ ËÏÓÙÈ ÞÅÒÔ - ÜÔÏ
ÐÏÚ×ÏÌÉÔ ÎÅ ÐÅÒÅÓÅËÁÔØÓÑ Ó ÐÒÏÓÔÒÁÎÓÔ×ÏÍ ÉͣΠÍÅÄÉÁ-ÔÉÐÏ× (media type).</p>
</section>
</manualpage>