(TUT) Deshabilitar proxy-cache de speedy

Publicado por dc740, Agosto 30, 2009, 00:56:13

Tema anterior - Siguiente tema

0 Miembros y 1 Visitante están viendo este tema.

dc740

Hace una semana estuve siguiendo las noticias sobre el nuevo chip de la PS3, asi que entraba todos los días a www.belzar.com para ver si era real o un fake. De tanto entrar una y otra vez noté que en mi casa veía una página (con speedy) y en mi trabajo veía otra página distinta que decía que el dominio estaba a la venta (con Flash).

Empecé a investigar y descubrí que efectivamente la página estaba a la venta y que hacía varios días que lo estaba. Sin embargo accediendo desde Speedy en casa seguía viendo la vieja web que publicitaba el chip que terminó siendo un fake.

Intentando solucionar el problema me topé con esto:
http://www.internautas.org/html/1110.html

Hace tiempo había leido al respecto pero creí que lo habían deshabilitado.
En esa página se puede leer con lujo de detalles el problema que yo estaba teniendo, y una solución para Windows, haciendo uso de un programa extra.

Aun asi como soy usuario de Linux y no me gusta descargar programas que no tienen el código de fuente, esa solución no me convenció en lo más mínimo y decidí buscar una alternativa para realizar lo mismo pero de una manera universal (que sirviera tanto en Windows, como Linux o cualquier otro sistema operativo).

Sin más preámbulos, la solución:

Paso número uno y más importante. Dejar de usar productos de M$ y empezar a usar como mínimo Mozilla Firefox, están invitados a probar cualquier distribución de Linux también.

Desde Firefox instalar este plugin:
http://modifyheaders.mozdev.org/

Esta es la versión que estoy usando:
https://addons.mozilla.org/en-US/firefox/addon/967

Después de instalarlo reinician FF y abren la ventana de configuración (Tools -> Modify Headers)
En la parte de configuración clickean en "Always on"
Volvemos a la ventana principal del plugin y agregamos estas dos reglas:

Action   Name               Value                                           Comment
Add      Cache-Control    no-cache                                      Deshabilitar cache de speedy
Add      Pragma             no-cache                                      Deshabilitar cache de speedy
Add      Expires             Fri, 30 Oct 1987 14:19:41 GMT         Deshabilitar cache de speedy
Modify  Expires             Fri, 30 Oct 1987 14:19:41 GMT         Deshabilitar cache de speedy

Guardamos los cambios y cerramos la ventanita del plugin.
A partir de ese momento todas las páginas se deberían actualizar ignorando el proxy configurado en los servidores de speedy!

Los pasos los verifiqué con el Firebug y parece que en las peticiones HTTP el header es el que corresponde. Asi que a partir de ahora estaríamos navegando como corresponde y sin tener el problema de ver las páginas web desactualizadas con respecto al servidor.


EDIT: casi me olvido. La fuente de esta información es mi propio blog: resumiendooo.blogspot.com
Es una solución bastante casera y sencilla que se me ocurrió en el momento, porque la solución de Windows obviamente no me servía y no había encontrado a nadie que lo hubiera hecho funcionar en Linux también.
Después de buscar un poco más encontré que este problema había sido solucionado por otro usuario de Vodafone de la misma manera que se me había ocurrido a mi.
http://msi.michael-edinger.de/index.php?Itemid=101&id=170&option=com_content&task=view

Sospecho que Claro Internet tiene el mismo problema!

Un poco de explicación teórica:
El header Cache-Control (que se introdujo en Http 1.1) sirve para decirle a los caches por cuanto tiempo es válida una página. También se usaba Expires, pero este header tenía el problema de requerir de fechas específicas. Lo que hacemos nosotros es, siguiendo la especificación de la RFC, setear un campo expires del año 1987 para que todos los servidores nos lo tomen como que no es cacheable, y además seteamos Cache-Control y Pragma en no-cache con el mismo fin.


Quizás sea un poco reduntante setear todos los campos. Pero de esta forma nos aseguramos de que funcione.

hinoshi

ya lo estoy probando. sinceramente aumento muchisimo la carga de las paginas en firefox. muy util esto!
Ushuaia

Helpme

Esta solucion ¿sirve tambien para Opera? GRACIAS!!!
Tanks!

dc740

#3
No, lamentablemente en Opera no hay forma de hacerlo. Pero gracias a tu pregunta encontré una página sobre otro usuario disconforme que también había hecho los mismos cambios! :D al parecer no fui el único con este problema. Asi que en este momento estoy modificando el tutorial para agregar otra regla más que parece ayudar también.

Acá está la respuesta al problema de Opera:
http://www.howtogeek.com/forum/topic/modify-headers-for-opera
Parece que no hay ningún add-on que te pueda ayudar.  :(

Con respecto a la nueva regla para deshabilitar el caché, la saqué de esta web:
http://msi.michael-edinger.de/index.php?Itemid=101&id=170&option=com_content&task=view

Pero haciendo más búsquedas sobre el tema me topé con esto:
http://www.mnot.net/cache_docs/

Asi que ahora modifico el tutorial para incluir toda la información nueva.

Salu2

Una duda... El header Expires se usa solamente en el response? si lo pongo en el request. qué haría? sirve? Dejo esta pregunta para las mentes ágiles de ArgentoP2P, yo recién me levanto y no tengo ni las neuronas ni el conocimiento necesario como para responderlo :P
Nevermind. Lo encontré y me lo respondí:
http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html
Creo que hubiese sido más fácil desde un principio leer la RFC correspondiente :P
CitarMany HTTP/1.0 cache implementations will treat an Expires value that is less than or equal to the response Date value as being equivalent to the Cache-Control response directive "no-cache". If an HTTP/1.1 cache receives such a response, and the response does not include a Cache-Control header field, it SHOULD consider the response to be non-cacheable in order to retain compatibility with HTTP/1.0 servers.