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="<-" alt="<-" src="/images/left.gif" /></a></div> 21<div id="path"> 22<a href="http://www.apache.org/">Apache</a> > <a href="http://httpd.apache.org/">Servidor HTTP</a> > <a href="http://httpd.apache.org/docs/">Documentaci�n</a> > <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"> en </a> | 25<a href="/es/handler.html" title="Espa�ol"> es </a> | 26<a href="/fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> | 27<a href="/ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 28<a href="/ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 29<a href="/ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | 30<a href="/tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a> | 31<a href="/zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </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 <Directory /web/htdocs/asis><br /> 135 SetHandler send-as-is<br /> 136 </Directory> 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->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"> en </a> | 167<a href="/es/handler.html" title="Espa�ol"> es </a> | 168<a href="/fr/handler.html" hreflang="fr" rel="alternate" title="Fran�ais"> fr </a> | 169<a href="/ja/handler.html" hreflang="ja" rel="alternate" title="Japanese"> ja </a> | 170<a href="/ko/handler.html" hreflang="ko" rel="alternate" title="Korean"> ko </a> | 171<a href="/ru/handler.html" hreflang="ru" rel="alternate" title="Russian"> ru </a> | 172<a href="/tr/handler.html" hreflang="tr" rel="alternate" title="T�rk�e"> tr </a> | 173<a href="/zh-cn/handler.html" hreflang="zh-cn" rel="alternate" title="Simplified Chinese"> zh-cn </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&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>