Libertonia
Portada · Todo · Software Libre · Desarrolladores · Comunidad · Internet · Tecnología · Meta · Diarios
Ver: Modo: Orden:
No me gustan la Sindicación (los RSS) | 15 comentarios (15 temáticos, editoriales, 0 ocultos)
Pues mira, no es que tenga que ver pero... (none / 0) (#7)
por jorginius ("jorginius" en Google Mail) a las Sat May 22nd, 2004 at 01:43:57 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Hablando de la compresión y de Libertonia: resulta que tienen instalado (y configurado, supongo) el mod_gzip, para servir las páginas comprimidas si el cliente lo soporta, pero a la hora de la verdad no sirven nada comprimido :-?.

Quizás esté mal configurado Scoop o Apache, o quizás me estoy equivocando yo al mirarlo. Escribo un mini-script en python de 3 segundos para mostrar lo que quiero decir:
from socket import *
import sys

if len(sys.argv) == 1:
    print "Uso: prueba_comp http://sitio.com/pagina.html"
    sys.exit(0)

surl = filter(None, sys.argv[1].replace("http:", "").split("/"))
surl.append("")
sock = socket(AF_INET, SOCK_STREAM)
sock.connect((surl[0], 80))

sock.send(
    'GET /%s HTTP/1.1\nHost: %s\nAccept-Encoding: gzip\n\n' %
        (reduce(lambda x, y: x+"/"+y, surl[1:]), surl[0]))
data = sock.recv(1024)
sock.close()

if data.find("Content-Encoding: gzip") != -1:
    print "Ok. Comprimido"
else:
    print "Fallo. No comprimido"


Y ahora probamos:
$ prueba_comp http://libertonia.escomposlinux.org
$ prueba_comp http://www.kuro5hin.org


¿Algún BOFH que me ilumine?.

[ Padre ]


Algo tienes mal (none / 0) (#8)
por Draco a las Sat May 22nd, 2004 at 05:49:24 PM CET
(Información Usuario)

Diría yo:
wget --header="Accept-Encoding: gzip"  -S -O /dev/null  \ 
http://libertonia.escomposlinux.org/story/2004/5/21/14915/1337

 1 HTTP/1.0 200 OK
 [....]
 6 Content-Encoding: gzip
 7 Content-Length: 8288
 8 Age: 2
 9 Connection: keep-alive


Aunque ahora mismo no veo qué... De todas formas te gusta hacer las cosas complicadas ¿por qué partes las cadenas si luego tienes que unirlas?
There are two major products to come out of Berkeley: LSD & BSD Unix. I don't believe this to be a coincidence.
[ Padre ]


Pués no (none / 0) (#9)
por Draco a las Sat May 22nd, 2004 at 05:59:25 PM CET
(Información Usuario)

Mil perdones. Por lo que sea, la página principal no se comprime, no así las demás. Tu script estaba bien (aunque sigue siendo lioso :-). Pruébalo contra esta misma página.

Ahora soy yo quién está intrigado ;-)
There are two major products to come out of Berkeley: LSD & BSD Unix. I don't believe this to be a coincidence.
[ Padre ]


 
Síp, lo único que no comprime es la portada (none / 0) (#10)
por jorginius ("jorginius" en Google Mail) a las Sat May 22nd, 2004 at 06:44:16 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Bueno, las parto para quedarme con la parte del Host por un lado y la parte de la página por otro, sin tener que controlar ningún caso (si escribes o no un "http://" al principio, o un "/" al final o...) y sin tener que usar el módulo de expresiones regulares. Yo no lo veo nada lioso, de hecho pensé que así era más sencillo que si lo escribía con re o con notación de comprensión de listas. Seguro que era más corto de la otra forma, incluso.

De todas formas, sólo lo probé una vez :-). La prueba buena la hice hace semanas con ethereal, al equivocarme con el filtro, pillar por casualidad una petición de konqui a Libertonia y ver que la portada no la recibía comprimída.

Porque sí, tienes razón: las páginas de las historias, los comentarios, las portadas de las secciones y los resúmenes de sindicación sí que los sirve comprimidos. Lo que no comprime es la portada principal, que fue lo que me despistó. No entiendo por qué todo lo demás sí y eso no :-?

Precisamente, para mejorar el asunto de la sindicación (que es de lo que trata la entrada de diario) también es interesante que los RSS deberían servirse comprimidos, y los clientes deberían soportarlo.

[ Padre ]


Cuestión de estilo (none / 0) (#11)
por Draco a las Sat May 22nd, 2004 at 10:47:08 PM CET
(Información Usuario)

Bueno, lo que a uno le puede parecer lioso a otro no y viceversa. Lo que pasa es que yo lo hubiera hecho así a la hora de separar:
sys.argv[1].replace("http://", "").split("/",1)
o a la hora de unir:
"/".join(surl[1:])
o directamente el módulo re, claro.
There are two major products to come out of Berkeley: LSD & BSD Unix. I don't believe this to be a coincidence.
[ Padre ]


Ah, split tiene dos parámetros, vaya (none / 0) (#13)
por jorginius ("jorginius" en Google Mail) a las Sat May 22nd, 2004 at 11:43:14 PM CET
(Información Usuario) http://www.rodriguezmoreno.com

Jurl, pues sí: olvidé que split() puede recibir dos parámetros. Corrige mentalmente el script, que tienes toda la razón del mundo.

Lo del join() sí que es más deliberado. Yo creo que queda más claro de la otra forma. Al join() antes le encontraba sentido, cuando formaba parte del módulo string, pero ahora es que no entiendo lo que quiere decir. Para concatenar cadenas llamas a un método de la cadena separadora y el método te devuelve un nuevo objeto, ¿eso se entiende? ... ¿No es mejor objstr.join(secuencia,[separador]) (y que objstr sea sobreescrito)?, o como estaba antes, no sé.

Bueno, en todo caso gracias por el apunte. Escribiré más despacio la próxima vez #iÍ)

[ Padre ]


 
No me preguntes por qué (none / 0) (#12)
por iarenaza a las Sat May 22nd, 2004 at 11:24:39 PM CET
(Información Usuario) http://www.escomposlinux.org/

Por qué no tengo ni idea de porqué la portada no se comprime, la verdad.

He estado mirando de arriba a abajo la configuración de Apache y no tiene ningún sentido lo que hace actualmente. Estoy completamente despistado.

De hecho, tras leer tu comentario he pensado que no comprimía nada y me he tirado 2 horas revisando la config de Apache, la de mod_gzip, bajando otro módulo más reciente, revisando decenas de páginas en google, y siempre me pasaba lo mismo: no comprimía (siempre le pedía la página principal). Sospecho de alguna interacción rara entre mod_gzip y mod_perl.

En todo caso, el caso de www.kuro5hin.org es diferente. Alli funcionan con un proxy inverso por delante de la máquina con Scoop, y es este proxy inverso el que hace la compresión con mod_gzip, así que allí si que se comprimime la portada también.

Saludos. Iñaki.

[ Padre ]


 

No me gustan la Sindicación (los RSS) | 15 comentarios (15 temáticos, editoriales, 0 ocultos)
Ver: Modo: Orden:
Menu
· crear cuenta
· FAQ
· búsqueda
· Fuentes de Noticias

Login
Nueva cuenta
Usuario:
Contraseña:

ecol Logo Powered by Scoop
Todas las Marcas Registradas y copyrights de esta página son propiedad de sus respectivos dueños.
Los comentarios son propiedad del que los escribe.
Los iconos de las noticias y el logotipo son propiedad de Javier Malonda.
El Resto © 2002 Escomposlinux.org y aledaños.

Puedes sindicar los contenidos de libertonia en formato RSS 1.0 y RDF 0.9. También se puede sindicar la cola de envíos pendientes de moderación.

El proyecto escomposlinux.org está dedicado a la memoria de tas

crear cuenta | faq | búsqueda