1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3<html xmlns="http://www.w3.org/1999/xhtml" lang="es" xml:lang="es"><head><!--
4        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
5              This file is generated from xml source: DO NOT EDIT
6        XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
7      -->
8<title>Uso de los Handlers en Apache - Servidor HTTP Apache</title>
9<link href="/style/css/manual.css" rel="stylesheet" media="all" type="text/css" title="Main stylesheet" />
10<link href="/style/css/manual-loose-100pc.css" rel="alternate stylesheet" media="all" type="text/css" title="No Sidebar - Default font size" />
11<link href="/style/css/manual-print.css" rel="stylesheet" media="print" type="text/css" /><link rel="stylesheet" type="text/css" href="/style/css/prettify.css" />
12<script src="/style/scripts/prettify.js" type="text/javascript">
13</script>
14
15<link href="/images/favicon.ico" rel="shortcut icon" /></head>
16<body id="manual-page"><div id="page-header">
17<p class="menu"><a href="/mod/">M�dulos</a> | <a href="/mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="/glossary.html">Glosario</a> | <a href="/sitemap.html">Mapa de este sitio web</a></p>
18<p class="apache">Versi�n 2.2 del Servidor HTTP Apache</p>
19<img alt="" src="/images/feather.gif" /></div>
20<div class="up"><a href="./"><img title="&lt;-" alt="&lt;-" src="/images/left.gif" /></a></div>
21<div id="path">
22<a href="http://www.apache.org/">Apache</a> &gt; <a href="http://httpd.apache.org/">Servidor HTTP</a> &gt; <a href="http://httpd.apache.org/docs/">Documentaci�n</a> &gt; <a href="./">Versi�n 2.2</a></div><div id="page-content"><div id="preamble"><h1>Uso de los Handlers en Apache</h1>
23<div class="toplang">
24<p><span>Idiomas disponibles: </span><a href="/en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
25<a href="/es/handler.html" title="Espa�ol">&nbsp;es&nbsp;</a> |
26<a href="/fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
27<a href="/ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
28<a href="/ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
29<a href="/ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
30<a href="/tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a> |
31<a href="/zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
32</div>
33<div class="outofdate">Esta traducci�n podr�a estar
34            obsoleta. Consulte la versi�n en ingl�s de la
35            documentaci�n para comprobar si se han producido cambios
36            recientemente.</div>
37
38    <p>Este documento describe el uso de los Handlers en Apache.</p>
39  </div>
40<div id="quickview"><ul id="toc"><li><img alt="" src="/images/down.gif" /> <a href="#definition">�Qu� es un Handler?</a></li>
41<li><img alt="" src="/images/down.gif" /> <a href="#examples">Ejemplos</a></li>
42<li><img alt="" src="/images/down.gif" /> <a href="#programmer">Nota para programadores</a></li>
43</ul><ul class="seealso"><li><a href="#comments_section">Comentarios</a></li></ul></div>
44<div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
45<div class="section">
46<h2><a name="definition" id="definition">�Qu� es un Handler?</a></h2>
47    
48    <table class="related"><tr><th>M�dulos Relacionados</th><th>Directivas Relacionadas</th></tr><tr><td><ul><li><code class="module"><a href="/mod/mod_actions.html">mod_actions</a></code></li><li><code class="module"><a href="/mod/mod_asis.html">mod_asis</a></code></li><li><code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code></li><li><code class="module"><a href="/mod/mod_imagemap.html">mod_imagemap</a></code></li><li><code class="module"><a href="/mod/mod_info.html">mod_info</a></code></li><li><code class="module"><a href="/mod/mod_mime.html">mod_mime</a></code></li><li><code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code></li><li><code class="module"><a href="/mod/mod_status.html">mod_status</a></code></li></ul></td><td><ul><li><code class="directive"><a href="/mod/mod_actions.html#action">Action</a></code></li><li><code class="directive"><a href="/mod/mod_mime.html#addhandler">AddHandler</a></code></li><li><code class="directive"><a href="/mod/mod_mime.html#removehandler">RemoveHandler</a></code></li><li><code class="directive"><a href="/mod/core.html#sethandler">SetHandler</a></code></li></ul></td></tr></table>
49
50
51    <p>Un "handler" es una representaci�n interna de Apache de
52    una acci�n que se va a ejecutar cuando hay una llamada a un
53    fichero. Generalmente, los ficheros tienen handlers
54    impl�citos, basados en el tipo de fichero de que se
55    trata. Normalmente, todos los ficheros son simplemente servidos
56    por el servidor, pero algunos tipos de ficheros se tratan de forma
57    diferente.</p>
58
59    <p>Apache 1.1 a�ade la posibilidad de usar handlers
60    explicitamente.  Bas�ndose en la extension del fichero o en
61    la ubicaci�n en la que este, se pueden especificar handlers
62    sin tener en cuenta el tipo de fichero de que se trate. Esto es
63    una ventaja por dos razones. Primero, es una soluci�n
64    m�s elegante. Segundo, porque a un fichero se le pueden
65    asignar tanto un tipo <strong>como</strong> un handler. (Consulte
66    tambi�n la secci�n <a href="mod/mod_mime.html#multipleext">Ficheros y extensiones
67    m�ltiples</a>.)</p>
68
69    <p>Los Handlers pueden ser tanto ser compilados con el servidor
70    como incluidos en un m�dulo, como a�adidos con la
71    directiva <code class="directive"><a href="/mod/mod_actions.html#action">Action</a></code>. Los
72    handlers compilados con el servidor de la distribuci�n
73    est�ndar de Apache son:</p>
74
75    <ul>
76      <li><strong>default-handler</strong>: Env�a el fichero
77      usando el <code>default_handler()</code>, que es el handler
78      usado por defecto para tratar contenido
79      est�tico. (core)</li>
80
81      <li><strong>send-as-is</strong>: Env�a el fichero con
82      cabeceras HTTP tal y como es. (<code class="module"><a href="/mod/mod_asis.html">mod_asis</a></code>)</li>
83
84      <li><strong>cgi-script</strong>: Trata el fichero como un sript
85      CGI. (<code class="module"><a href="/mod/mod_cgi.html">mod_cgi</a></code>)</li>
86
87      <li><strong>imap-file</strong>: Trata el fichero como un mapa de
88      im�genes. (<code class="module"><a href="/mod/mod_imagemap.html">mod_imagemap</a></code>)</li>
89
90      <li><strong>server-info</strong>: Extrae la informaci�n de
91      configuraci�n del
92      servidor. (<code class="module"><a href="/mod/mod_info.html">mod_info</a></code>)</li>
93
94      <li><strong>server-status</strong>: Extrae el informe de estado
95      del servidor. (<code class="module"><a href="/mod/mod_status.html">mod_status</a></code>)</li>
96
97      <li><strong>type-map</strong>: Trata el fichero como una
98      correspondencia de tipos para la negociaci�n de contenidos.
99      (<code class="module"><a href="/mod/mod_negotiation.html">mod_negotiation</a></code>)</li> </ul> </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
100<div class="section">
101<h2><a name="examples" id="examples">Ejemplos</a></h2> 
102
103    <h3><a name="example1" id="example1">Modificar contenido est�tico usando un script
104      CGI</a></h3>
105      
106
107      <p>Las siguientes directivas hacen que cuando haya una
108      petici�n de ficheros con la extensi�n
109      <code>html</code> se lance el script CGI
110      <code>footer.pl</code>.</p>
111
112      <div class="example"><p><code>
113        Action add-footer /cgi-bin/footer.pl<br />
114        AddHandler add-footer .html
115      </code></p></div>
116
117      <p>En este caso, el script CGI es el responsable de enviar el
118      documento originalmente solicitado (contenido en la variable de
119      entorno <code>PATH_TRANSLATED</code>) y de hacer cualquier
120      modificaci�n o a�adido deseado.</p>
121
122    
123    <h3><a name="example2" id="example2">Archivos con cabaceras HTTP</a></h3>
124      
125
126      <p>Las siguientes directivas activan el handler
127      <code>send-as-is</code>, que se usa para ficheros que contienen
128      sus propias cabeceras HTTP. Todos los archivos en el directorio
129      <code>/web/htdocs/asis/</code> ser�n procesados por el
130      handler <code>send-as-is</code>, sin tener en cuenta su
131      extension.</p>
132
133      <div class="example"><p><code>
134        &lt;Directory /web/htdocs/asis&gt;<br />
135        SetHandler send-as-is<br />
136        &lt;/Directory&gt;
137      </code></p></div>
138
139    
140  </div><div class="top"><a href="#page-header"><img alt="top" src="/images/up.gif" /></a></div>
141<div class="section">
142<h2><a name="programmer" id="programmer">Nota para programadores</a></h2>
143    
144
145    <p>Para implementar las funcionalidades de los handlers, se ha
146    hecho un a�adido a la <a href="developer/API.html">API de
147    Apache</a> que puede que quiera usar. Para ser m�s
148    espec�ficos, se ha a�adido un nuevo registro a la
149    estructura <code>request_rec</code>:</p>
150
151    <div class="example"><p><code>
152      char *handler
153    </code></p></div>
154
155    <p>Si quiere que su m�dulo llame a un handler , solo tiene
156    que a�adir <code>r-&gt;handler</code> al nombre del handler
157    en cualquier momento antes de la fase <code>invoke_handler</code>
158    de la petici�n. Los handlers se implementan siempre como se
159    hac�a antes, aunque usando el nombre del handler en vez de un
160    tipo de contenido. Aunque no es de obligado cumplimiento, la
161    convenci�n de nombres para los handlers es que se usen
162    palabras separadas por guiones, sin barras, de manera que no se
163    invada el media type name-space.</p>
164  </div></div>
165<div class="bottomlang">
166<p><span>Idiomas disponibles: </span><a href="/en/handler.html" hreflang="en" rel="alternate" title="English">&nbsp;en&nbsp;</a> |
167<a href="/es/handler.html" title="Espa�ol">&nbsp;es&nbsp;</a> |
168<a href="/fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais">&nbsp;fr&nbsp;</a> |
169<a href="/ja/handler.html" hreflang="ja" rel="alternate" title="Japanese">&nbsp;ja&nbsp;</a> |
170<a href="/ko/handler.html" hreflang="ko" rel="alternate" title="Korean">&nbsp;ko&nbsp;</a> |
171<a href="/ru/handler.html" hreflang="ru" rel="alternate" title="Russian">&nbsp;ru&nbsp;</a> |
172<a href="/tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e">&nbsp;tr&nbsp;</a> |
173<a href="/zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese">&nbsp;zh-cn&nbsp;</a></p>
174</div><div class="top"><a href="#page-header"><img src="/images/up.gif" alt="top" /></a></div><div class="section"><h2><a id="comments_section" name="comments_section">Comentarios</a></h2><div class="warning"><strong>Notice:</strong><br />This is not a Q&amp;A section. Comments placed here should be pointed towards suggestions on improving the documentation or server, and may be removed again by our moderators if they are either implemented or considered invalid/off-topic. Questions on how to manage the Apache HTTP Server should be directed at either our IRC channel, #httpd, on Freenode, or sent to our <a href="http://httpd.apache.org/lists.html">mailing lists</a>.</div>
175<script type="text/javascript"><!--//--><![CDATA[//><!--
176var comments_shortname = 'httpd';
177var comments_identifier = 'http://httpd.apache.org/docs/2.2/handler.html';
178(function(w, d) {
179    if (w.location.hostname.toLowerCase() == "httpd.apache.org") {
180        d.write('<div id="comments_thread"><\/div>');
181        var s = d.createElement('script');
182        s.type = 'text/javascript';
183        s.async = true;
184        s.src = 'https://comments.apache.org/show_comments.lua?site=' + comments_shortname + '&page=' + comments_identifier;
185        (d.getElementsByTagName('head')[0] || d.getElementsByTagName('body')[0]).appendChild(s);
186    }
187    else { 
188        d.write('<div id="comments_thread">Comments are disabled for this page at the moment.<\/div>');
189    }
190})(window, document);
191//--><!]]></script></div><div id="footer">
192<p class="apache">Copyright 2013 The Apache Software Foundation.<br />Licencia bajo los t�rminos de la <a href="http://www.apache.org/licenses/LICENSE-2.0">Apache License, Version 2.0</a>.</p>
193<p class="menu"><a href="/mod/">M�dulos</a> | <a href="/mod/directives.html">Directivas</a> | <a href="http://wiki.apache.org/httpd/FAQ">Preguntas Frecuentes</a> | <a href="/glossary.html">Glosario</a> | <a href="/sitemap.html">Mapa de este sitio web</a></p></div><script type="text/javascript"><!--//--><![CDATA[//><!--
194if (typeof(prettyPrint) !== 'undefined') {
195    prettyPrint();
196}
197//--><!]]></script>
198</body></html>