
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Adobe Flash &#187; htaccess</title>
	<atom:link href="http://www.adobeflash.es/category/htaccess/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.adobeflash.es</link>
	<description>Adobe Flash :: Agregador de Blogs sobre Adobe Flash y Actionscript en castellano</description>
	<lastBuildDate>Thu, 01 Sep 2011 10:34:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Como hacer redireccionamiento 301 y 302</title>
		<link>http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/</link>
		<comments>http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/#comments</comments>
		<pubDate>Wed, 19 May 2010 06:05:01 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[301]]></category>
		<category><![CDATA[302]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[canonicalización]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[header]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[redirección]]></category>
		<category><![CDATA[SEO]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1169</guid>
		<description><![CDATA[<p>Redireccionar una página consiste en enviar al usuario de una dirección a otra. Existen dos tipos de redireccionamiento: <em>301</em> y <em>302</em>, cada uno para diferentes situaciones. Veamos como y cuando utilizar estos tipos para redireccionar de manera apropiada.</p><p><strong>Tipos de Redirección</strong></p><p>Existen dos tipos de redireccionamiento que podemos utilizar, los dos le cambian de dirección&#8230;</p>


Related posts:<ol><li><a href='http://feedproxy.google.com/~r/SdrTutorialesFlashPapervision/~3/ISTXaaXoLVk/perdida-de-sesion-al-hacer-una-subida-con-filereference' rel='bookmark' title='Permanent Link: Perdida de sesión al hacer una subida con FileReference'>Perdida de sesión al hacer una subida con FileReference</a> <small>Este bug / "comportamiento raro", se reproduce al hacer una...</small></li>
</ol>

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><span style="background-color:yellow">Este es un agregador de feeds de blogs relacionados con la Plataforma Flash de Adobe, no es el creador de los contenidos que contiene.</span></p>
<p>Este post fue creado por <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> en el blog <a href="http://blog.unijimpe.net" target="_blank">http://blog.unijimpe.net</a>.<br/> Deberías haber sido redirigido al post original mediante Javascript, de no se así puedes acceder a él desde el siguiente enlace:<br/><a href="http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/</a></p>
<script type="text/javascript">
window.location = "http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/"
</script>
<p><span style="background-color:yellow">Post agregado:</span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/IsuRMBMmw1j9ufHgfg1nExxbXak/0/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/IsuRMBMmw1j9ufHgfg1nExxbXak/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IsuRMBMmw1j9ufHgfg1nExxbXak/1/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/IsuRMBMmw1j9ufHgfg1nExxbXak/1/di" border="0" ismap="true"></img></a></p><p>Redireccionar una página consiste en enviar al usuario de una dirección a otra. Existen dos tipos de redireccionamiento: <em>301</em> y <em>302</em>, cada uno para diferentes situaciones. Veamos como y cuando utilizar estos tipos para redireccionar de manera apropiada.</p><p><strong>Tipos de Redirección</strong></p><p>Existen dos tipos de redireccionamiento que podemos utilizar, los dos le cambian de dirección a los visitantes pero se comportan de manera diferente para los buscadores, esto nos puede ayudar a mejorar nuestro posicionamiento si sabes cual emplear.</p><ul><li><strong>Redirección 301</strong>: Indica una redirección <em>permanente</em>.<br />Esto le indica a los buscadores que ignoren la dirección original e indexen la nueva dirección. Este tipo de redirección se utiliza cuando estamos cambiando de dominio a una web, esto haría que los buscadores indexen la nueva dirección sin perder los enlaces entrantes que tenía el dominio y sin perder el pagerank.</li><li><strong>Redirección 302</strong>: Indica una redirección <em>temporal</em>.<br />Esto indica que la dirección original no ha cambiado y se seguirá utilizando pero temporalmente cambiaremos de dirección.</li></ul><p><strong>Redireccionamiento con PHP</strong></p><p>Para redireccionar en PHP se utiliza la función <em>header</em>, por defecto esto crea una redirección del tipo 302, indicando un cambio de dirección temporal, mientras que para hacer una redirección del tipo 301 es necesario agregar un header adicional.</p><p>Para hacer una redirección <strong>302</strong>.</p><div class="syntax_hilite"><div id="php-70"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Location: /users/home.php"</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p>Para hacer una redirección <strong>301</strong>.</p><div class="syntax_hilite"><div id="php-71"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"HTTP/1.1 301 Moved Permanently"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Location: http://newdomain.com"</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p><strong>Redireccionamiento con .htaccess</strong></p><p>Las redirecciones también se pueden hacer con el servidor web Apache utilizando el archivo <em>.htaccess</em> el cual esta ubicado en la carpeta principal del servidor.</p><p>Para hacer una redirección <strong>302</strong>.</p><div class="syntax_hilite"><div id="code-72"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">redirect <span style="color:#800000;color:#800000;">302</span> /download/ /files/tubeplayer-<span style="color:#800000;color:#800000;">1</span>.<span style="color:#800000;color:#800000;">2</span>.<span style="">zip</span></div></li></ol></div></div></div><p></p><p>Para hacer una redirección <strong>301</strong>.</p><div class="syntax_hilite"><div id="code-73"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">redirect <span style="color:#800000;color:#800000;">301</span> / http:<span style="color:#FF9933; font-style:italic;">//newdomain.com </span></div></li></ol></div></div></div><p></p><p><strong>Cambiar de dominio</strong></p><p>Si hemos decidido cambiar nuestra web a un nuevo dominio, haremos una redirección 301 con .htaccess de forma que nuestros visitantes vean todas las páginas en el nuevo dominio y los buscadores lo indexen sin perder pagerank.</p><div class="syntax_hilite"><div id="code-74"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">Redirect <span style="color:#800000;color:#800000;">301</span> <span style="color:#006600;">&#40;</span>.*<span style="color:#006600;">&#41;</span> http:<span style="color:#FF9933; font-style:italic;">//newdomain.com/$1 </span></div></li></ol></div></div></div><p></p><p><strong>Redireccionar a WWW</strong></p><p>Si tenemos un dominio y deseamos que cuando se acceda a http://mydomain.com esta cambie a http://www.mydomain.com (Esto es llamado <em>canonicalización</em> y evita el contenido duplicado en los buscadores) podemos utilizar el siguiente código en .htaccess.</p><div class="syntax_hilite"><div id="code-75"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">RewriteEngine On</div></li><li style="color:#26536A;"><div style="">RewriteCond %<span style="color:#006600;">&#123;</span>HTTP_HOST<span style="color:#006600;">&#125;</span> ^mydomain\.<span style="">com</span>$</div></li><li style="color:#3A6A8B;"><div style="">RewriteRule <span style="color:#006600;">&#40;</span>.*<span style="color:#006600;">&#41;</span> http:<span style="color:#FF9933; font-style:italic;">//www.mydomain.com/$1 [R=301,L] </span></div></li></ol></div></div></div><p></p><p><strong>Redireccionar a no-WWW</strong></p><p>Ahora podemos elegir que nuestra dirección no contenga el término www. Para ello utilizamos la segunda forma de canonicalización al redirigir desde http://www.mydomain.com hasta http://mydomain.com.</p><div class="syntax_hilite"><div id="code-76"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">RewriteEngine On</div></li><li style="color:#26536A;"><div style="">RewriteCond %<span style="color:#006600;">&#123;</span>HTTP_HOST<span style="color:#006600;">&#125;</span> !^mydomain\.<span style="">com</span>$</div></li><li style="color:#3A6A8B;"><div style="">RewriteRule <span style="color:#006600;">&#40;</span>.*<span style="color:#006600;">&#41;</span> http:<span style="color:#FF9933; font-style:italic;">//mydomain.com/$1 [R=301,L] </span></div></li></ol></div></div></div><p></p><p><strong>Mas Información</strong></p><ul><li><a href="http://en.wikipedia.org/wiki/URL_redirection" target="_blank">Wikipedia: URL redirection</a></li><li><a href="http://www.faqs.org/rfcs/rfc2616.html" target="_blank">Hypertext Transfer Protocol -- HTTP/1.1</a></li><li><a href="http://php.net/manual/en/function.header.php" target="_blank">PHP manual: header</a></li><li><a href="http://www.askapache.info//2.3/misc/rewriteguide.html" target="_blank">Apache: URL Rewriting Guide</a></li></ul><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2010 <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/unijimpe?a=aaD2uGkeYs8:0JKD0HdmsNc:yIl2AUoC8zA" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=aaD2uGkeYs8:0JKD0HdmsNc:D7DqB2pKExk" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=aaD2uGkeYs8:0JKD0HdmsNc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=aaD2uGkeYs8:0JKD0HdmsNc:F7zBnMyn0Lo" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=aaD2uGkeYs8:0JKD0HdmsNc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unijimpe/~4/aaD2uGkeYs8" height="1" width="1"/>
<p><span style="background-color:yellow">Autor del post:</span> <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a><br/>
<span style="background-color:yellow">Enlace original:</span> <a href="http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/aaD2uGkeYs8/</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/como-hacer-redireccionamiento-301-y-302/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimización: Utilizar compresión Gzip</title>
		<link>http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/</link>
		<comments>http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 04:51:05 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[compresion]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[gzip]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Optimización Web]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[velocidad]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1136</guid>
		<description><![CDATA[<p>Para optimizar la carga de una página web es necesario disminuir al máximo el número de peticiones o el tamaño de los archivos transmitidos. Para ayudar al ahorro de transferencia los servidores web han implementado formas de compresión, mediante la cual el contenido es comprimido antes de enviarlo al browser.</p><p></p><p>En la actualidad la mayoría&#8230;</p>


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><span style="background-color:yellow">Este es un agregador de feeds de blogs relacionados con la Plataforma Flash de Adobe, no es el creador de los contenidos que contiene.</span></p>
<p>Este post fue creado por <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> en el blog <a href="http://blog.unijimpe.net" target="_blank">http://blog.unijimpe.net</a>.<br/> Deberías haber sido redirigido al post original mediante Javascript, de no se así puedes acceder a él desde el siguiente enlace:<br/><a href="http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/</a></p>
<script type="text/javascript">
window.location = "http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/"
</script>
<p><span style="background-color:yellow">Post agregado:</span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/2y2s7BDT4HZweUjoLHZxg_Ixfu8/0/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/2y2s7BDT4HZweUjoLHZxg_Ixfu8/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/2y2s7BDT4HZweUjoLHZxg_Ixfu8/1/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/2y2s7BDT4HZweUjoLHZxg_Ixfu8/1/di" border="0" ismap="true"></img></a></p><p>Para optimizar la carga de una página web es necesario disminuir al máximo el número de peticiones o el tamaño de los archivos transmitidos. Para ayudar al ahorro de transferencia los servidores web han implementado formas de compresión, mediante la cual el contenido es comprimido antes de enviarlo al browser.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2010/02/header-gzip.gif" alt="" title="header-gzip" width="437" height="204" /></p><p>En la actualidad la mayoría de los browsers soportan dos formatos de compresión, ello lo podemos observar en los headers que envía el browser al hacer una petición. En la propiedad <em>Accept-Encoding</em> con dos valores:</p><ul><li><strong>gzip</strong> es un formato de compresión libre, desarrollado por el proyecto GNU, es el mas popular pues la mayoría de los browsers lo soportan, además ofrece un ahorro del 66% en promedio.</li><li><strong>deflate</strong> menos efectivo que gzip pues ofrece un ahorro de 60%, uno de los pocos sitios que lo utiliza es msn.com.</li></ul><h3>Que archivos comprimir con GZIP</h3><p>Es recomendable comprimir solo los archivos <strong>html</strong>, <strong>php</strong>, <strong>css</strong>, <strong>js</strong> y algunos otros archivos en formato texto. En el caso de archivos <em>jpg</em>, <em>png</em>, <em>gif</em>, <em>pdf</em> estos ya están comprimidos y aplicarle gzip puede incrementar el tamaño de los archivos e incluso el consume de CPU del servidor. Otra regla que hay que tener en cuenta es que se recomienda comprimir archivos de mas de 1Kb.</p><h3>Utilizar GZIP con Apache 1.3</h3><p>En el caso de Apache 1.3 la compresión gzip es manejada por el módulo <em>mod_gzip</em>. Para ello se pueden utilizar las sentencias <em>mod_gzip_item_include</em> para incluir archivos a comprimir y <em>mod_gzip_item_exclude</em> para excluir archivos. Luego editamos el archivo .htaccess e incluimos el siguiente código.</p><div class="syntax_hilite"><div id="code-57"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">&lt;IfModule mod_gzip.<span style="">c</span>&gt;</div></li><li style="color:#26536A;"><div style="">mod_gzip_on Yes</div></li><li style="color:#3A6A8B;"><div style="">mod_gzip_item_include file \.<span style="">html</span>$</div></li><li style="color:#26536A;"><div style="">mod_gzip_item_include file \.<span style="">php</span>$</div></li><li style="color:#3A6A8B;"><div style="">mod_gzip_item_include file \.<span style="">css</span>$</div></li><li style="color:#26536A;"><div style="">mod_gzip_item_include file \.<span style="">js</span>$</div></li><li style="color:#3A6A8B;"><div style="">&nbsp;</div></li><li style="color:#26536A;"><div style="">mod_gzip_item_include mime ^application/javascript$</div></li><li style="color:#3A6A8B;"><div style="">mod_gzip_item_include mime ^application/x-javascript$</div></li><li style="color:#26536A;"><div style="">mod_gzip_item_include mime ^text/.*</div></li><li style="color:#3A6A8B;"><div style="">mod_gzip_item_include handler ^application/x-httpd-php</div></li><li style="color:#26536A;"><div style="">&nbsp;</div></li><li style="color:#3A6A8B;"><div style="">mod_gzip_item_exclude mime ^image/.*</div></li><li style="color:#26536A;"><div style="">&lt;/IfModule&gt;</div></li></ol></div></div></div><p></p><h3>Utilizar GZIP con Apache 2.x</h3><p>Para versiones de Apache 2.x la compresión es gestionada por el módulo <em>mod_deflate</em> (No confundir el nombre del módulo con la compresión, pues esta genera compresión gzip). Para comprimir los archivos podemos utilizar la sentencia <em>AddOutputFilterByType</em> de la siguiente forma:</p><div class="syntax_hilite"><div id="code-58"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">AddOutputFilterByType DEFLATE text/html text/css application/x-javascript</div></li></ol></div></div></div><p></p><p>En nuestro caso tenemos <em>Apache 2.0.54</em> por lo cual aplicamos el segundo método. Hemos creados dos ejemplos uno sin compresión (<a href="http://samples.unijimpe.net/optimization/no-gzip/" target="_blank">http://samples.unijimpe.net/optimization/no-gzip/</a>), en el cual podemos observar que toda la pagina tiene un tamaño de <em>135.4 Kb</em> y demora en cargar <em>3.46 segundos</em>.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2010/02/no-gzipped.gif" alt="" title="no-gzipped" width="474" height="129" /></p><p>Ahora si agregamos la compresión gzip (<a href="http://samples.unijimpe.net/optimization/gzip/" target="_blank">http://samples.unijimpe.net/optimization/gzip/</a>) podemos observar una reducción significante en el tamaño de los archivos. Ahora toda la página tiene un tamaño de 38.8KB con lo cual hemos ahorrado un 71.3%.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2010/02/gzipped.png" alt="" title="gzipped" width="469" height="129"  /></p><p><strong>Mas Información</strong><br /> Se puede habilitar la compresión con PHP e incluso controlar mas al detalle la compresión de los archivos, para ello les dejo algunos enlaces para encontrar mas información.</p><ul><li><a href="http://code.google.com/speed/articles/gzip.html" target="_blank">How gzip compression works</a></li><li><a href="http://httpd.apache.org/docs/2.0/mod/mod_deflate.html" target="_blank">Apache Module mod_deflate</a></li><li><a href="http://betterexplained.com/articles/how-to-optimize-your-site-with-gzip-compression/" target="_blank">How To Optimize Your Site With GZIP Compression</a></li><li><a href="http://www.webcodingtech.com/php/gzip-compression.php" target="_blank">How to enable gzip compression with PHP</a></li><li><a href="http://www.catswhocode.com/blog/3-ways-to-compress-css-files-using-php" target="_blank">3 ways to compress CSS files using PHP</a></li></ul><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/unijimpe?a=qKihZTBb5Iw:03QvbqqTDFM:yIl2AUoC8zA" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=qKihZTBb5Iw:03QvbqqTDFM:D7DqB2pKExk" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=qKihZTBb5Iw:03QvbqqTDFM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=qKihZTBb5Iw:03QvbqqTDFM:F7zBnMyn0Lo" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=qKihZTBb5Iw:03QvbqqTDFM:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unijimpe/~4/qKihZTBb5Iw" height="1" width="1"/>
<p><span style="background-color:yellow">Autor del post:</span> <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a><br/>
<span style="background-color:yellow">Enlace original:</span> <a href="http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/qKihZTBb5Iw/</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/optimizacion-utilizar-compresion-gzip/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimización: Agregar Headers de Expiración</title>
		<link>http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/</link>
		<comments>http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 04:02:45 +0000</pubDate>
		<dc:creator>unijimpe</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[http]]></category>
		<category><![CDATA[Optimización Web]]></category>
		<category><![CDATA[optimizacion]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[rendimiento]]></category>
		<category><![CDATA[velocidad]]></category>

		<guid isPermaLink="false">http://blog.unijimpe.net/?p=1134</guid>
		<description><![CDATA[<p>Los Header de expiración son utilizados para indicar cuando expira un determinado archivo, en cuyo caso el mismo no es cargado nuevamente si es que aun no ha expirado. Entonces para archivos que no cambian comúnmente como las imágenes, vídeos, javascript, hojas de estilo podríamos agregarle headers de expiración con lo cual solo se cargarán la&#8230;</p>


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p><span style="background-color:yellow">Este es un agregador de feeds de blogs relacionados con la Plataforma Flash de Adobe, no es el creador de los contenidos que contiene.</span></p>
<p>Este post fue creado por <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> en el blog <a href="http://blog.unijimpe.net" target="_blank">http://blog.unijimpe.net</a>.<br/> Deberías haber sido redirigido al post original mediante Javascript, de no se así puedes acceder a él desde el siguiente enlace:<br/><a href="http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/</a></p>
<script type="text/javascript">
window.location = "http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/"
</script>
<p><span style="background-color:yellow">Post agregado:</span></p>

<p><a href="http://feedads.g.doubleclick.net/~a/ptjRuZFWCLLmqFD5e352Pvgsbug/0/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/ptjRuZFWCLLmqFD5e352Pvgsbug/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ptjRuZFWCLLmqFD5e352Pvgsbug/1/da" target="_blank"><img src="http://feedads.g.doubleclick.net/~a/ptjRuZFWCLLmqFD5e352Pvgsbug/1/di" border="0" ismap="true"></img></a></p><p>Los Header de expiración son utilizados para indicar cuando expira un determinado archivo, en cuyo caso el mismo no es cargado nuevamente si es que aun no ha expirado. Entonces para archivos que no cambian comúnmente como las imágenes, vídeos, javascript, hojas de estilo podríamos agregarle headers de expiración con lo cual solo se cargarán la primera vez que accedemos a la pagina.</p><p><img src="http://blog.unijimpe.net/wp-content/uploads/2010/01/headers.gif" alt="" title="headers" width="320" height="192" class="alignnone size-full wp-image-1135" /></p><p>Para ello se pueden utilizar los headers: <em>Expires</em> que contiene la fecha en la cual expira el archivo y <em>Cache-Control</em>, se pueden agregar estos dos headers por separado pero si agregamos el <em>Expires</em> este agregará también el header <em>Cache-Control</em>.</p><h3>Expiración Utilizando htaccess</h3><p>Los servidores web <em>Apache</em> son muy versátiles y permiten configurar de forma sencilla los headers de expiración, para ello debes incluir las directivas en el archivo <strong>.htaccess</strong>. Para el caso de la expiración se puede utilizar <em>ExpiresDefault</em>, para ello tenemos las siguientes directivas de tiempo: <em>years</em>, <em>months</em>, <em>weeks</em>, <em>days</em>, <em>hours</em>, <em>minutes</em>, <em>seconds</em>.</p><p>Lo recomendables es colocar una expiración de 30 días para los archivos estaticos (jpg, png, gif, swf, js, css), entonces podríamos agregar el siguiente código:</p><div class="syntax_hilite"><div id="code-52"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">ExpiresActive On</div></li><li style="color:#26536A;"><div style="">ExpiresDefault A0</div></li><li style="color:#3A6A8B;"><div style="">&nbsp;</div></li><li style="color:#26536A;"><div style=""># expiracion de <span style="color:#800000;color:#800000;">1</span> mes para archivos estaticos</div></li><li style="color:#3A6A8B;"><div style="">&lt;FilesMatch <span style="color:#CC0000;">"<span style="color:#000099;">\.</span>(gif|jpg|jpeg|png|swf|js|css)$"</span>&gt;</div></li><li style="color:#26536A;"><div style="">ExpiresDefault <span style="color:#CC0000;">"access plus 1 months"</span></div></li><li style="color:#3A6A8B;"><div style="">&lt;/FilesMatch&gt;</div></li></ol></div></div></div><p></p><p>Además de ello la expiración también se puede expresar en segundos, entonces modificando el ejemplo anterior tendríamos (30 dias = 60*60*24*30 = 2592000):</p><div class="syntax_hilite"><div id="code-53"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">ExpiresActive On</div></li><li style="color:#26536A;"><div style="">ExpiresDefault A0</div></li><li style="color:#3A6A8B;"><div style="">&nbsp;</div></li><li style="color:#26536A;"><div style=""># expiracion de <span style="color:#800000;color:#800000;">1</span> mes para archivos estaticos</div></li><li style="color:#3A6A8B;"><div style="">&lt;FilesMatch <span style="color:#CC0000;">"<span style="color:#000099;">\.</span>(gif|jpg|jpeg|png|swf|js|css)$"</span>&gt;</div></li><li style="color:#26536A;"><div style="">ExpiresDefault A2592000</div></li><li style="color:#3A6A8B;"><div style="">&lt;/FilesMatch&gt;</div></li></ol></div></div></div><p></p><p>Otra forma para agregar la expiración es el uso de la directiva <em>ExpiresByType</em> mediante la cual se le puede asignar tiempos diferentes dependiendo del tipo de archivo. Con esta directiva tendríamos el ejemplo anterior transformado en:</p><div class="syntax_hilite"><div id="code-54"><div class="code"><ol><li style="color:#3A6A8B;"><div style="">ExpiresActive On</div></li><li style="color:#26536A;"><div style="">ExpiresDefault A0</div></li><li style="color:#3A6A8B;"><div style="">&nbsp;</div></li><li style="color:#26536A;"><div style="">ExpiresByType image/gif A2592000</div></li><li style="color:#3A6A8B;"><div style="">ExpiresByType image/png A2592000</div></li><li style="color:#26536A;"><div style="">ExpiresByType image/jpg A2592000</div></li><li style="color:#3A6A8B;"><div style="">ExpiresByType image/jpeg A2592000</div></li><li style="color:#26536A;"><div style="">ExpiresByType text/css A2592000</div></li><li style="color:#3A6A8B;"><div style="">ExpiresByType text/javascript A2592000</div></li></ol></div></div></div><p></p><p>Pueden ver el ejemplo funcionando en <a href="http://samples.unijimpe.net/optimization/expiration/" target="_blank">http://samples.unijimpe.net/optimization/expiration/</a>, si utilizan<em>Firebug</em> para ver el trafico de red observarán como se cargan las imágenes la primera vez, las siguientes estas se leen del cache del browser.  Les dejo los archivos de ejemplo con el .htaccess para cada ejemplo con el cual pueden hacer sus pruebas.</p><p style="text-align:center;"><a href="http://blog.unijimpe.net/download/expiration.zip" title="Headers de Expiración" target="_blank"><img src="http://blog.unijimpe.net/btdown.png" border="0"></a></p><h3>Expiración Utilizando PHP</h3><p>PHP también es otra solución para agregar los headers de expiración. Para ello haremos uso de la función <em>header</em>.  El formato del header de expiración en:</p><div class="syntax_hilite"><div id="php-55"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Expires: Mon, 26 Jul 2010 05:00:00 GMT"</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p>Creando dinámicamente la expiración, utilizando las funciones de fecha tendríamos un ejemplo con la expiración de 30 dias (60*60*24*30 = 30 dias expresados en segundos)</p><div class="syntax_hilite"><div id="php-56"><div class="php"><ol><li style="color:#3A6A8B;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Cache-Control: must-revalidate"</span><span style="color:#006600;">&#41;</span>;</div></li><li style="color:#26536A;"><div style=""><a href="http://www.php.net/header" target="_blank"><span style="color:#000066;">header</span></a><span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"Expires: "</span>.<a href="http://www.php.net/gmdate" target="_blank"><span style="color:#000066;">gmdate</span></a> <span style="color:#006600;">&#40;</span><span style="color:#FF0000;">"D, d M Y H:i:s"</span>, <a href="http://www.php.net/time" target="_blank"><span style="color:#000066;">time</span></a><span style="color:#006600;">&#40;</span><span style="color:#006600;">&#41;</span> + <span style="color:#CC66CC;color:#800000;">60</span>*<span style="color:#CC66CC;color:#800000;">60</span>*<span style="color:#CC66CC;color:#800000;">24</span>*<span style="color:#CC66CC;color:#800000;">30</span><span style="color:#006600;">&#41;</span>.<span style="color:#FF0000;">" GMT"</span><span style="color:#006600;">&#41;</span>;</div></li></ol></div></div></div><p></p><p><strong>Mas Información</strong><br /> Hemos presentado una breve explicación utilizando .htaccess y PHP, pueden tener mas información y conceptos mas desarrollados en:</p><ul><li><a href="http://developer.yahoo.com/performance/rules.html#expires" target="_blank">Add an Expires or a Cache-Control Header</a></li><li><a href="http://httpd.apache.org/docs/2.0/mod/mod_expires.html" target="_blank">Apache Module mod_expires</a></li><li><a href="http://www.websiteoptimization.com/speed/tweak/cache/" target="_blank">Use Server Cache Control to Improve Performance</a></li><li><a href="http://www.badpenguin.org/php-howto-control-page-caching" target="_blank">PHP: Howto control page caching</a></li></ul><p style="font-size: 10px;border-top: 1px solid #666666;margin-top=12px;padding-top:6px;">&copy; 2006 - 2009 <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a> - Utiliza este feed solo para uso personal, partes de este feed pueden ser utilizados mencionando al autor, no esta permitido publicar enteramente este feed para uso comercial sin permiso del autor.</p><br /> <div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/unijimpe?a=8hDQUpfWB6c:HGTYgJMGPn4:yIl2AUoC8zA" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=8hDQUpfWB6c:HGTYgJMGPn4:D7DqB2pKExk" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=8hDQUpfWB6c:HGTYgJMGPn4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/unijimpe?a=8hDQUpfWB6c:HGTYgJMGPn4:F7zBnMyn0Lo" target="_blank"><img src="http://feeds.feedburner.com/~ff/unijimpe?i=8hDQUpfWB6c:HGTYgJMGPn4:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/unijimpe/~4/8hDQUpfWB6c" height="1" width="1"/>
<p><span style="background-color:yellow">Autor del post:</span> <a href="http://blog.unijimpe.net" target="_blank">unijimpe</a><br/>
<span style="background-color:yellow">Enlace original:</span> <a href="http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/" target="_blank">http://feedproxy.google.com/~r/unijimpe/~3/8hDQUpfWB6c/</a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.unijimpe.net/optimizacion-agregar-headers-de-expiracion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

