<?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>soi57.net: administracion de sistemas, seo y tecnologia movil &#187; etags</title>
	<atom:link href="http://soi57.net/blog/category/apache/etags/feed/" rel="self" type="application/rss+xml" />
	<link>http://soi57.net/blog</link>
	<description>Blog sobre seo, administracion de sistemas y tecnologia movil</description>
	<lastBuildDate>Thu, 22 Jul 2010 09:37:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Etags</title>
		<link>http://soi57.net/blog/etags/</link>
		<comments>http://soi57.net/blog/etags/#comments</comments>
		<pubDate>Tue, 26 May 2009 10:16:13 +0000</pubDate>
		<dc:creator>root</dc:creator>
				<category><![CDATA[apache]]></category>
		<category><![CDATA[etags]]></category>

		<guid isPermaLink="false">http://soi57.net/articles/?p=147</guid>
		<description><![CDATA[Los Etags son un mecanismo para que los servidores webs y los navegadores determinen si la copia del compomente que reside en la cache del navegador coincide con la original en el servidor ( con componentes nos referimos a componentes de una página web: imágenes, scripts, hojas de estilo, etc.) Los Etags fueron añadidos como [...]]]></description>
			<content:encoded><![CDATA[<p>Los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> son un mecanismo para que los servidores webs y los navegadores determinen si la copia del compomente que reside en la <strong>cache del navegador </strong>coincide con la original en el servidor ( con componentes nos referimos a componentes de una página web: imágenes, scripts, hojas de estilo, etc.) Los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> fueron añadidos como herramienta más flexible para validar elementos que la fecha de <strong>last-modified</strong> (ultima modificación). El servidor especifica el <strong>Etag</strong> del componente usando  la cabecera de respuesta <strong>ETAg</strong>.</p>
<blockquote><p>HTTP/1.1 200 OK<br />
Last-Modified: Tue, 12 Dec 2006 03:03:59 GMT<br />
ETag: &#8220;10c24bc-4ab-457e1c1f&#8221;<br />
Content-Length: 12195</p></blockquote>
<p>Después, si el <strong>navegador </strong>tiene que validar el componente, usa la cabecera If-None-Match para responder al servidor. Si los <a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">ETags</a> concuerdan un <strong>codigo 304</strong> es devuelto, reduciendo por ejemplo en este caso la respuesta en 12195 bytes.</p>
<blockquote><p>GET /i/yahoo.gif HTTP/1.1<br />
Host: us.yimg.com<br />
If-Modified-Since: Tue, 12 Dec 2006 03:03:59 GMT<br />
If-None-Match: &#8220;10c24bc-4ab-457e1c1f&#8221;<br />
HTTP/1.1 304 Not Modified</p></blockquote>
<p>El problema de los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">ETags</a></strong> es que normalmente se definen a partir de atributos que  los hacen únicos para el servidor específico que aloja la página. Los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a> </strong>no concordarán cuando el navegador descarga el componente original de un servidor y luego intenta validarlo contra otro, como puede ocurrir en entornos en los que se balancea la carga entre varios servidores. Por defecto, tanto <strong><a href="http://soi57.net/blog/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a></strong> como <strong>IIS</strong> incrustan datos in el Etag que reducen dramáticamente las probabilidades de que los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> coincidan en <strong>entornos multiservidor.</strong></p>
<p>El formato de <strong>ETag </strong>para <strong><a href="http://soi57.net/blog/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a> 1.3 y 2.x</strong> is<strong> inode-size-timestamp</strong>. Aunque un fichero pueda residir en el mismo directorio en múltiples servidores, y tengan el mismo tamaño, permisos, timestamp,etc., su número de iniod es diferente de un servidor a otro.</p>
<p><strong>IIS 5.0 y 6.0</strong> tienen un problema parecido con los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">ETags</a></strong>. El<strong> formato de los <a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">ETags</a></strong> en IIS es Filetimestamp. <strong>ChangeNumber</strong>. Un <strong>ChangeNumber</strong> is un contador usado para registrar cambios de configuración en IIS. Es muy poco probable que el <strong>ChangeNumber</strong> sea el mismo en varios servidores que sirvan la misma página.</p>
<p>El resultado final es que los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> generados por <strong><a href="http://soi57.net/blog/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a> o IIS</strong> para el  mismo componente no concordará de un servidor a otro. Si los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> no concuerdan, el usuario no recibirá la rápida respuesta 304, que es para lo que los <a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">ETags</a> están diseñados. En lugar de esto, recibirán un <strong>código de respuesta 200</strong> junto con todo el componente. Si estás alojando tu web en sólo un servidor no es un problema. Pero si tienes varios servidores sirviendo el contenido tendrán un mayor consumo de ancho de banda, los proxies no cachearan tu contenido y el usuario final notará las páginas más lentas. Incluso si los compomentes tienen una <strong>cabecera Expires</strong> mucho tiempo adelante (futuro) un GET condicional se hará cada vez que se pulse Reload o Refresh.</p>
<p>Si no estás obteniendo ninguna mejora por el uso de los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> lo mejor es desactivar completamente su uso. La cabecera Last-Modified validará en base al timestamp del componente. Eliminando los <strong><a href="http://soi57.net/blog/tag/etags/" class="st_tag internal_tag" rel="tag" title="Posts tagged with etags">Etags</a></strong> se reducirá el tamaño de las cabeceras HTTP tanto en la respuestas como en las peticiones. Para desactivarlas en IIS puedes mirar <a href="http://support.microsoft.com/?id=922733 ">este artículo</a> . En<strong> <a href="http://soi57.net/blog/tag/apache/" class="st_tag internal_tag" rel="tag" title="Posts tagged with apache">Apache</a>,</strong> simplemente añadiendo esta línea al httpd.conf.</p>
<p><strong>FileETag none</strong></p>
<p>Traducción del <a href="http://developer.yahoo.net/blog/archives/2007/07/high_performanc_11.html">artículo High Perfomance Web Sites: Rule 13 &#8211; Configure Etags</a> .<br />
<a href="http://httpd.apache.org/docs/2.0/es/mod/core.html#fileetag">Documentación apache Etags</a></p>

	<h4>Related posts</h4>
	<ul class="st-related-posts">
	<li><a href="http://soi57.net/blog/spam-en-el-access-log-de-apache/" title="Spam en el access log de Apache? (Marzo 13, 2010)">Spam en el access log de Apache?</a> (0)</li>
	<li><a href="http://soi57.net/blog/punycode-dominios-con-n/" title="punycode, dominios con ñ (Marzo 3, 2010)">punycode, dominios con ñ</a> (0)</li>
	<li><a href="http://soi57.net/blog/apache-logformat/" title="Apache LogFormat (Septiembre 15, 2008)">Apache LogFormat</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://soi57.net/blog/etags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
