<?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>Desarrollo web &#187; htaccess</title>
	<atom:link href="http://www.proyecto-f.net/tag/htaccess/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.proyecto-f.net</link>
	<description>javascript, jquery, css, php y adobe premiere</description>
	<lastBuildDate>Tue, 13 Apr 2010 05:32:22 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Duplicar la velocidad de wordpress en 5 minutos</title>
		<link>http://www.proyecto-f.net/2009/09/duplicar-la-velocidad-de-wordpress-en-5-minutos/</link>
		<comments>http://www.proyecto-f.net/2009/09/duplicar-la-velocidad-de-wordpress-en-5-minutos/#comments</comments>
		<pubDate>Wed, 23 Sep 2009 05:57:24 +0000</pubDate>
		<dc:creator>flmn</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[apc]]></category>
		<category><![CDATA[htaccess]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.proyecto-f.net/?p=1009</guid>
		<description><![CDATA[El almacenamiento en cache es una técnica muy empleada que arroja importantes mejoras de rendimiento y requiere de muy poco esfuerzo. 
Los tipos de cache se pueden dividir en dos grupos principales, cache del lado del servidor (opcodes, bases de datos, etc) y del lado del cliente cliente (imágenes, hojas de estilos, ficheros js).
NOTA: Las [...]]]></description>
			<content:encoded><![CDATA[<p>El almacenamiento en cache es una técnica muy empleada que arroja importantes mejoras de rendimiento y requiere de muy poco esfuerzo. </p>
<p>Los tipos de cache se pueden dividir en dos grupos principales, cache del lado del servidor (opcodes, bases de datos, etc) y del lado del cliente cliente (imágenes, hojas de estilos, ficheros js).</p>
<p>NOTA: Las siguiente optimizaciones han sido realizadas sobre wordpress pero son perfectamente aplicables a cualquier aplicación php.</p>
<h3>Cache del lado del servidor</h3>
<p>Lo primero será instalar algún optimizador de código php. Ya hemos hablado varias veces de este tipo de soluciones así que no me voy a complicar demasiado. Simplemente decir que APC y eAccelerator son buenas alternativas.</p>
<h3>Cache del lado del cliente</h3>
<p>En la mayoría de los casos, queremos que nuestros cliente caché de nuestros archivos estáticos como HTML y CSS para que el sitio cargue más rápido después de la primera solicitud. El almacenamiento en caché del navegador depende por lo general de las cabeceras HTTP y el navegador utilizando. Una vez que el browser tiene algún elemento de nuestra página en cache, realizara una de las siguientes acciones dependiendo de la cabecera utilizada:</p>
<p><img src="http://www.proyecto-f.net/wp-content/uploads/2009/09/304-not-modified.jpg" alt="304-not-modified" title="304-not-modified" width="429" height="89" class="alignleft size-full wp-image-1010" /></p>
<p>   1. Comprobara en cada petición si el archivo ha sido modificado. Si la respuesta de estado es HTTP 304 (no modificado) cargara el fichero desde la cache.<br />
   2. No realizara ninguna comprobación y cargara el archivo desde la cache hasta que este caduque.<br />
<span id="more-1009"></span><br />
El segundo caso es más rápido ya que ahorra una gran cantidad de peticiones HTTP. </p>
<h3>Establecer la cebecera Expires </h3>
<p>Para forzar el segundo caso echaremos mano de el fichero .htaccess una vez más y aplicaremos la siguiente regla para decirle a el browser que los ficheros con las siguientes extensiones no caducan hasta el año 2012:<br />
<code><br />
&lt;FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)(\.gz)?$"><br />
Header set Expires "Thu, 15 Apr 2012 20:00:00 GMT"<br />
Header unset ETag<br />
FileETag None<br />
&lt;/FilesMatch><br />
</code></p>
<p>Para el que lo prefiera también podemos añadir reglas similares en el archivo de configuración de apache:<br />
<code><br />
&lt;Virtualhost><br />
......<br />
ExpiresActive On<br />
ExpiresByType image/gif A604800<br />
ExpiresByType image/png A604800<br />
ExpiresByType image/jpeg A604800<br />
ExpiresByType text/css A604800<br />
ExpiresByType text/javascript A604800<br />
ExpiresByType application/x-javascript A604800<br />
ExpiresByType text/html A300<br />
ExpiresByType text/xml A300<br />
ExpiresByType application/x-shockwave-flash A604800<br />
ExpiresByType video/x-flv A604800<br />
&lt;/Virtualhost><br />
</code><br />
En este caso le indicamos el número de segundos que tardan los ficheros en caducar (A300 = 300 segundos).</p>
<h3>Plugins para Wordpress</h3>
<p>Por último wordpress cuenta con algunos plugins como db cache o wp super cache que nos pueden ayudar a restarle más carga a nuestro servidor. En las pruebas que he realizado sobre este blog la mejora ha sido casi inapreciable, de todas formas, no descarto que esta pueda ser mucho mayor en blogs con bases de datos mayores o configuraciones distintas.</p>
<h3>Los resultados</h3>
<p><a>Wordpress</a></p>
<pre>
Concurrency Level:      20
Time taken for tests:   61.333 seconds
Complete requests:      141
Failed requests:        0
Write errors:           0
Total transferred:      6077689 bytes
HTML transferred:       6039609 bytes
Requests per second:    2.30 [#/sec] (mean)</pre>
<p><a>WP + APC</a></p>
<pre>
Concurrency Level:      20
Time taken for tests:   60.946 seconds
Complete requests:      173
Failed requests:        0
Write errors:           0
Total transferred:      6919990 bytes
HTML transferred:       6877150 bytes
Requests per second:    2.84 [#/sec] (mean)
</pre>
<p><a>WP + APC + .HTACCESS</a></p>
<pre>
oncurrency Level:      20
Time taken for tests:   60.326 seconds
Complete requests:      255
Failed requests:        0
Write errors:           0
Total transferred:      10200281 bytes
HTML transferred:       10136973 bytes
Requests per second:    4.23 [#/sec] (mean)
</pre>
<p><a>WP + APC + .HTACCESS + DB CACHE</a></p>
<pre>
Concurrency Level:      20
Time taken for tests:   60.350 seconds
Complete requests:      262
Failed requests:        0
Write errors:           0
Total transferred:      10253142 bytes
HTML transferred:       10189596 bytes
Requests per second:    4.34 [#/sec] (mean)
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.proyecto-f.net/2009/09/duplicar-la-velocidad-de-wordpress-en-5-minutos/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>6 utilidades de .htaccess</title>
		<link>http://www.proyecto-f.net/2009/09/6-utilidades-de-htaccess/</link>
		<comments>http://www.proyecto-f.net/2009/09/6-utilidades-de-htaccess/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 15:12:45 +0000</pubDate>
		<dc:creator>flmn</dc:creator>
				<category><![CDATA[artículos]]></category>
		<category><![CDATA[htaccess]]></category>

		<guid isPermaLink="false">http://www.proyecto-f.net/?p=975</guid>
		<description><![CDATA[Los archivos .htaccess nos permiten definir reglas que el servidor web aplicará al procesar tu site. Aquí tenéis un listado con algunas de las reglas aceptadas:

Personalizar el Error 404
Protección a directorios mediante usuario y contraseña
Evitar que se muestre el arbol de directorios
Bloqueo de IPs
Limitar el número de usuarios concurrentes
Evitar que un sitio ajeno enlace un [...]]]></description>
			<content:encoded><![CDATA[<p>Los archivos .htaccess nos permiten definir reglas que el servidor web aplicará al procesar tu site. Aquí tenéis un listado con algunas de las reglas aceptadas:</p>
<ol>
<li>Personalizar el Error 404</li>
<li>Protección a directorios mediante usuario y contraseña</li>
<li>Evitar que se muestre el arbol de directorios</li>
<li>Bloqueo de IPs</li>
<li>Limitar el número de usuarios concurrentes</li>
<li>Evitar que un sitio ajeno enlace un archivo alojado en nuestro servidor (Hot linking)</li>
</ol>
<p>Puedes consultar más reglas y ejemplos de cada una de ellas en <a title="Ejemplos de .htaccess en apache" href="http://www.larepaweb.com.ar/index.php?id=article&#038;a=691">larepaweb</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.proyecto-f.net/2009/09/6-utilidades-de-htaccess/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

