Linux WWW-COMO <author>por Peter Dreuw, <tt><htmlurl url="mailto:pdreuw@wing.gun.de" name="pdreuw@wing.gun.de"></tt> Traducido por José Manuel Puerta Peña, <tt><htmlurl url="mailto:a920226@zipi.fi.upm.es" name="a920226@zipi.fi.upm.es"></tt> <date>v0.7.6, 6 October 1996 <abstract> Este documento contiene información acerca del establecimiento de servicios WWW bajo Linux (tanto servidor como cliente) y como mantenerlos. No intenta ser un manual detallado pero sí una visión general y un buen punto de partida a información adicional. </abstract> <toc> <!-- SECCION Introducción ================================================== --> <sect>Introducción <p> Mucha gente está introduciéndose en Linux porque buscan una plataforma con <em>capacidad para Internet</em> realmente buena. Otros usan Linux por la diversión de instalar un SO gratis en sus sistemas. Por supuesto, algunos de ellos quieren entrar en contacto con internet. Además, existen institutos, universidades y otras organizaciones, la mayoría sin ánimo de lucro, que quieren o necesitan instalar servidores de internet con pequeños gastos. Aquí es donde entra el WWW COMO. Este documento intenta explicar como instalar clientes y servidores para (a mi parecer) la parte conectada más grande de la red - <em>La World Wide Web</em>. <sect1>Derechos de autor <p> Este documento es Copyright (c) 1996 de Peter Dreuw. Por favor, cópielo y distribúyalo mucho, pero no modifique el texto u omita mi nombre. Si vende este COMO en un CD, en un libro o en otro medio de comunicación, me gustaría mucho tener una copia como referencia. Las marcas registradas son propiedad de sus respectivos dueños. <sect1>Rectificación <p> Este documento está pensado como una introducción en las técnicas de WWW usadas o utilizables en Linux. ¡ No soy ningún experto ni en WWW ni en seguridad ! NO ME HAGO RESPONSABLE DE NINGUN DAÑO INCURRIDO DEBIDO A ACCIONES TOMADAS EN BASE A LA INFORMACION INCLUIDA EN ESTE DOCUMENTO. <sect1>Información sobre resultados <p> Cualquier información será realmente bienvenida. Sólo envíeme un correo a <tt><htmlurl url="mailto:pdreuw@wing.gun.de" name="pdreuw@wing.gun.de"></tt>. <sect1>Nuevas versiones de este Documento <p> Puede obtener nuevas versiones de este documento vía FTP anónimo de <em>sunsite.unc.edu</em> en <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/" name="ftp://sunsite.unc.edu/pub/Linux/docs/HOWTO/"><tt> y de casi cualquier servidor réplica de ftp afín a Linux. Además, Ud. puede bajárselo vía <tt><htmlurl url="http://ourworld.compuserve.com/homepages/dreuw/lxwwwh2.tgz" name="http://ourworld.compuserve.com/homepages/dreuw/lxwwwh2.tgz"></tt> como un archivo tar comprimido con gzip conteniendo versiones sgml, text, latex y ps. La versión html está disponible directamente bajo <tt><htmlurl url="http://ourworld.compuserve.com/homepages/dreuw/lxwwwh2.htm" name="http://ourworld.compuserve.com/homepages/dreuw/lxwwwh2.htm"></tt> <!-- WWW = SECCION DEL CLIENTE =========================================== --> <sect>Configuración el software del cliente de WWW <p> El capítulo siguiente está dedicado a los usuarios de web. Algunos atajos y trucos establecidos en versiones actuales de visualizadores de web comunes. Por favor, no tenga reparos en contactar conmigo si su visualizador favorito de web no se menciona aquí. (Como ésta es realmente una versión muy reciente del WWW-COMO, probablemente la mayoría de ellos no están listados...) Personalmente, yo prefiero el visualizador W3 de Emacs y Lynx ya que poseen algunas ventajas de velocidad y no hay necesidad de cargar completamente los gráficos a través de mi línea telefónica de baja velocidad ;) <sect1>Descripción general <p> Lynx es el visualizador de Web más pequeño que conozco y uso - pero posee muchas características especiales, por tanto no se salte este capítulo. Emacs - bueno, no hay nada que decir sobre el visualizador W3 de Emacs, es justamente Emacs, como el lector de noticias de Emacs, el lector de correo de Emacs, etc. pp. El Netscape Navigator es el único visualizador mencionado aquí que es capaz de esas cosas nuevas y divertidas tales como <em/JavaScript/ y esas agradables características de la etiqueta <APPLET> necesarias para ejecutar <em/Java/. Por favor, comuníqueme si existe cualquier otro visualizador de web que pueda hacer una u otra cosa. Realmente me gustaría saberlo. Hay rumores sobre que Microsoft va a trasladar Internet Explorer a varias plataformas Unix (quizá incluyendo Linux). Si Ud. tiene noticias más fiables, por favor mándeme un correo electrónico. <!-- Lynx =================================== --> <sect1>Lynx <p> El más pequeño (?, hm, cerca de 650 K de ejecutable) y quizá el visualizador de Web más rápido disponible. No come mucho ancho de banda ni recursos del sistema ya que sólo trata con visualizaciones de texto como cualquier consola, terminal o terminal gráfica xterm. Ud. no necesita ningún <em>sistema de ventanas gráficas X Window</em> ni megabytes adicionales del sistema de memoria para ejecutar este pequeño visualizador. Además, también está disponible el código fuente. <sect2>Dónde conseguirlo <p> La última versión es la 2.5 y puede ser obtenida desde <tt><htmlurl url="http://www.wfbr.edu/dir/lynx" name="http://www.wfbr.edu/dir/lynx"></tt> o desde casi cualquier servidor de ftp afín a Linux como <tt><htmlurl url="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/www" name="ftp://sunsite.unc.edu/pub/Linux/system/Network/info-systems/www/"></tt> o desde cualquier servidor réplica. O eche un vistazo a las <em/páginas mejoradas de Lynx/ <tt><htmlurl url="http://www.nyu.edu/pages/wsn/subir/lynx.html" name="http://www.nyu.edu/pages/wsn/subir/lynx.html"></tt> para información sobre el uso de Lynx. <sect2>Cómo instalarlo <p> Sólo obtenga el archivo, desempaquételo, <em/lea/ el fichero <tt/README/ y <em>siga</em> los pasos descritos en el fichero <tt/INSTALL/. Si no desea una distribución de fuentes, debería obtener una distribución binaria para Linux sobre sistemas basados en Intel disponible en sunsite. Lynx compila y se ejecuta en mi sistema sin ningún problema tanto en Linux 1.2.13 como en 2.0.x. <sect2>Características especiales <p> Bueno, existen. Para una descripción completa, lea los manuales y ficheros doc que vienen con Linux. Para hacerse una idea, teclee <tscreen>lynx --help</tscreen>. En mi humilde opinión, la característica más especial de Lynx frente a todos los otros visualizadores de web es la capacidad para la petición en modo de procesamiento por lotes. Uno puede escribir una macro del intérprete de comandos que recupere un documento, a través de las urls <em/http/, <em/ftp/, <em/gopher/, <em/WAIS/, <em/NNTP/ o <em>file://</em>, y salvarlo al disco. Además, se pueden rellenar documentos HTML con datos en el modo de proceso por lotes simplemente redirigiendo la entrada estándar y usando la opción <em/-post_data/. <!-- Emacs W3 ================================= --> <sect1>Emacs-W3 <p> Existe una cosa lamentable sobre el visualizador W3 de Emacs ;) Si Ud. tiene GNU Emacs o XEmacs ejecutándose, probablemente también tenga el visualizador W3 ejecutándose. No hay mucho trabajo en este COMO. Si Ud. cree que debería haber más información sobre esto, por favor hágamelo saber. El modo W3 de Emacs es casi un sistema de visualización de web completamente caracterizado, escrito en el sistema Lisp de Emacs. Principalmente trata con texto, pero también puede mostrar gráficos (al menos) si ejecuta Emacs bajo el sistema de ventanas gráficas X Window. El paquete de GNU emacs más reciente está disponible en <tt><htmlurl url="ftp://prep.mit.ai.edu" name="ftp://prep.mit.ai.edu"></tt>, el más reciente de XEmacs podría ser obtenido desde <tt><htmlurl url="ftp://ftp.xemacs.org" name="ftp://ftp.xemacs.org"></tt>. <!-- Netscape Navigator ======================= --> <sect1>Netscape Navigator Gold 3.0 <p> Sí, Ud. lo consiguió. El Rey de los visualizadores de WWW. Algo casi como lo que es Emacs en el mundo de los editores de texto. Netscape Navigator puede hacerlo casi todo (excepto hacer café... pero quizá <em/java/ lo haga...). Pero por otra parte, el más hambriento de memoria y devorador de recursos de los <em>visualizadores de web</em>, lectores de <em>noticias</em>, lectores de <em>correo</em> <tt>(pop3)</tt>, y editores de correo y noticias que yo haya visto nunca. Mi última versión del Netscape Navigator Gold (versión de exportación) es de 28-Aug-1996 y (c) 1995, 1996 Netscape Communications Corp. (Como yo vivo en Europa, sólo puedo obtener la versión de exportación...) <sect2>Dónde conseguirlo <p> El primer lugar para conseguir el Netscape Navigator para Linux como distribución binaria es en <tt><htmlurl url="ftp://ftp.netscape.com" name="ftp://ftp.netscape.com"></tt>. El segundo (ya que estos servidores están muy cargados) debería ser un servidor réplica afín a netscape. Ud. también podría consultar archie acerca de este asunto. Quizás tenga suerte y lo encuentre en un cd rom (esto salvaría algo de ancho de banda ya que el archivo es bastante grande, ~2.5 MB). <sect2>Desempaquetando e Instalando <p> Desempaquete el archivo y <em/lea/ el fichero <tt/README/ No hay nada extraño en esto, ya sabe. <sect2>Los applets de Java con el navigator <p> Existen algunos rumores que dicen que hay problemas al ejecutar los applets de java con el Netscape Navigator Gold 3.0 incluso si java está activado en el diálogo de opciones. El archivo que conozco contiene un fichero <em/java_30/ que debe ser renombrado como <em/java_30.zip/. Después de esto, cualquier applet de java debería funcionar bien dentro del entorno del netscape. Si continúa teniendo problemas al usar los applets de java así como si el Netscape Navigator se bloquea o simplemente se interrumpe después de cargar un applet de java, eche un vistazo a su <em/versión de libc/. Haga un <tscreen>ldconfig -v | less</tscreen> (quizás, deba ser Ud. super-usuario para hacerlo...) y busque un renglón <tscreen>libc.so.5 => libc.so.5.xx.yy</tscreen> dónde su versión de libc es 5.xx.yy. Si su libc no es 5.2.18, éste debe de ser el problema. Hay muchos informes para sistemas Linux 1.2.13, que deberían ser actualizados a libc 5.2.18 generalmente cuando se necesite ejecutar Netscape Navigator. Adicionalmente, debería ser una buena idea degradar su libcc de 5.3.xx a 5.2.18 si Ud. ejecuta Netscape Navigator y un núcleo Linux 2.0.x. (De hecho, las series de libc 5.3.xx son para propósitos de prueba beta, así que Ud. debería saber lo que está haciendo.) Algunas de las series 5.3.xx interrumpen el Netscape Navigator y el código de clases de Java. Para más información sobre <em/Java en Linux/ o <em/programación en Java/, por favor lea el JAVA-COMO o visite <tt><htmlurl url="http://www.sun.com" name="http://www.sun.com"></tt>. <!-- WWW - SECCION DEL SERVIDOR ======================================== --> <sect>Establecimiento de los sistemas de servidor de WWW <p> Esta sección contiene información sobre diferentes paquetes de software de servidores de http y herramientas adicionales del servidor como lenguajes de macros para programas CGI, etc. Para una descripción técnica sobre los mecanismos del http, eche un vistazo a los documentos RFC mencionados en el capítulo "Para lectura una adicional" de este COMO. <!-- httpd del cern =============================== --> <sect1>httpd del cern <p> Como el servidor original de httpd del cern se presenta con algunos errores graves, y es bastante lento y voraz de recursos, por ahora no se describe en este COMO. Si Ud. se ofrece voluntario para escribir algunos hechos o capítulos, por favor envíemelos. Los añadiré a este documento. <!-- httpd apache ============================= --> <sect1>apache <p> <em/(Por escribir) lo siento/ Características, Visión General, Ventajas <sect2>Dónde obtenerlo <p> <sect2>Instalación <p> <sect2>Configuración <p> <sect2>Características Especiales <p> EL httpd apache posee algunas características especiales en la versión actual. <sect3>Servidor multipetición <p> BlaBla??? como configurar .... <sect3>Sistema de módulos <p> como incluir otros módulos ... dónde conseguir información sobre la programación de módulos ... <!-- Sistemas de macros CGI =================== --> <sect1>Sistemas de macros CGI <p> <em/(por escribir, lo siento)/ CGI (common gateway interface) (interfaz común de pasarela) <sect2>¿ Cómo funciona CGI en principio ? <p> <em/(por escribir, lo siento)/ estructura de llamada, estructura http, formato de parámetro de programa (ligeramente tocado), cosas a tener en cuenta <sect2>Perl <p> <em/(por escribir, lo siento)/ algo fácil en perl (macro de muestra) <sect2>PHP/FI <p> <em/(por escribir, lo siento)/ algo fácil en PHP/FI (macro de muestra) <sect2>W3-mSQL <p> <em/(por escribir, lo siento)/ algo incluso más fácil (macro de muestra) ¡¡¡ un consejo sobre configuración !!! <sect2>algunas macros útiles <p> <em/(por escribir, lo siento)/FaxInbound para Table incluyendo macros php/fi y macros del interprete de comandos <!-- SECCION DE MANTENIMIENTO ================================== --> <sect>Manteniendo un servidor WWW o algunas Páginas Web <p> Si Ud. tiene que mantener un servidor web o si mantiene al menos una página web, tiene que pensar en su oferta a la red y tiene que dedicar algunos pensamientos en la aproximación al lector / usuario de sus páginas web. <!-- HTML t‚cnico =========================== --> <sect1>La corriente dominante: HTML técnico <p> Bien, no voy a decirle cómo se codifica HTML ni como tiene Ud. que diseñar sus páginas. Sólo le daré algunos puntos dónde Ud. puede encontrar información más avanzada. Debería echar un vistazo a <tt><htmlurl url="http://www.w3.org/" name="http://www.w3.org/"></tt> para la especificación más reciente del lenguage HTML. Eche un vistazo a la lista al final de este artículo, encontrará más consejos, dónde leerlos. <!-- ancho de banda ================================ --> <sect1>Algunos conceptos sobre el ancho de banda <p> Muchos usuarios se conectan a Internet vía líneas de modem de baja velocidad. Un rango de velocidad de 14.400 bps a 28.800 bps es una obra de arte para "sitios privados". En Europa, están creciendo sistemas RDSI, pero una velocidad de 64.000 bps no es muy rápida en comparación con (hagámoslo simple - una ethernet de 10.000.000 bps). Y una ethernet de 10 Mbps no es realmente una conexión de LAN de alta velocidad hoy en día. Así como Ud. se da cuenta que muchos usuarios no poseen este acceso rápido a la red, debería tener en cuenta el aumentar la relación entre información y bytes. Optimícelo a 1:1 (si puede). <em/Debería/ usar gráficos en sus páginas web siguiendo la tendencia multimedia, pero recuerde siempre los objetivos de su página y de los gráficos que va a introducir. Si la mayoría de sus usuarios se conectan a través de una línea de modem pequeña y los gráficos sólo sirven para razones estéticas o para hacer efectos llamativos, haría mejor quitándolos de sus páginas, o (al menos) rehacerlas al tamaño de fichero más pequeño posible y usar la mejor compresión. A sus usuarios les gustará. Recuerde siempre: ciertamente a nadie le gusta un efecto llamativo que dura unos 3-5 minutos <em/después/ del mensaje de texto. <!-- carga del servidor ============================== --> <sect1>Algunos conceptos sobre la carga del servidor <p> En un servidor de web, normalmente existe al menos una tarea de servidor ejecutándose. Si esta tarea lee una petición de un cliente http, se duplica a sí misma (en Linux esto se llama <em/ramificación/)<footnote>N. del T.: fork=ramificación</footnote> y la nueva copia sirve la petición mientras que la original mantiene la escucha para nuevas peticiones. Una vez acabada la petición, la copia desaparece. (De hecho, algunos servidores - como el apache - siempre conservan por defecto cinco copias del servidor en espera preparadas para peticiones en paralelo al servidor maestro, por razones de velocidad.) Algunos visualizadores de web como las series del Netscape Navigator hacen muchas peticiones en paralelo sobre el mismo servidor, lo que incrementa la carga del servidor dedicada al mismo usuario. Estos visualizadores, por ejemplo, cargan la página HTML y la analiza sintácticamente durante la carga y distribuye nuevas peticiones para otra información como gráficos embebidos, ficheros de applets, ficheros de sonido o cualquier otro dato adicional codificado con mime. Por el contrario, los visualizadores 'simples' piden y cargan un fichero tras otro, lo que mantiene la relación de carga por usuario del servidor lo más baja posible. Muchos usuarios prefieren visualizadores que usan la técnica de multipetición como el Netscape Navigator, porque traen una visión general más completa sobre la página requerida antes de que lo haga una petición simple del visualizador. En mi opinión esto es porque muchos diseñadores de páginas introducen la información embebida dentro de los gráficos, rechazando los visualizadores de sólo texto. Entonces, (como mantenedores de servidores) el problema es nuestro, ya que la mayoría de los usuarios lanzan multiples peticiones sobre servidores externos dentro de la carga de la misma página. Podemos limitar esto limitando el software del servidor a no servir más peticiones que "x" desde el mismo sistema al mismo tiempo. Pero, ¿cómo conseguir este "x"? No es fácil calcularlo, y es necesaria mucha experiencia personal en su servidor para representarlo. Pero, le daré algunos consejos. Tenemos que tener en cuenta el ancho de banda de nuestra conexión, el tamaño de memoria de nuestro servidor, alguna impresión sobre el rendimiento de la cpu/disco de nuestro servidor y... bueno, eso es suficiente para la primera ojeada. Debería echar un vistazo a la memoria que utiliza una sola tarea del servidor. Entonces piense cuantas de ellas se podría tener en memoria a la vez. Piense qué porcentaje de sus páginas web podrían permanecer en la caché de disco de su servidor. Optimice el total de tareas del servidor de web contra el tamaño del caché del disco y estará realmente cerca de su "x" personal. Además, puede presentar otros trabajos que posea el servidor. Por ejemplo, si su sistema también presta servicio por ftp, debería limitar el máximo número posible de conexiones para conservar un mínimo de espacio para la tarea del servidor de ftp. Si su servidor de web también presta algunos servicios de base de datos, haría mejor apartando algunos ciclos de cpu y también reducir su "x". Juegue algo con estos valores y pruébelos. Y (!) lea el siguiente capítulo sobre la escritura de macros CGI, lo que también conlleva rendimiento del servidor y (dependiendo de los CGI) cantidad de memoria. <!-- CGI contra Applet ============================ --> <sect1>CGI contra Applet / Macros del lado del cliente <p> <em/(por escribir, lo siento)/ descripción general sobre ventajas/desventajas y consejos sobre qué usar y cuando. <!-- ideas de estilo ============================== --> <sect1>Ideas de estilo <p> Uh, un tema realmente difícil para ser descrito en una frase corta. No intento confundir sus ideas ingeniosas de diseño. Tampoco voy a hacer que se incline por mis estrategias personales de diseño. Sólo me gustaría añadir uno o dos dictámenes a las ideas de arriba sobre carga y ancho de banda del servidor. Numerosas investigaciones sobre el comportamiento humano en interfaces de usuario y presentaciones en pantalla han publicado resultados interesantes. Existen algunos factores simples que uno debería tener en cuenta al diseñar páginas WWW. <itemize> <item>Mantenga el texto en bloques cortos. Este COMO se ve feo en pantalla, pero bonito en papel impreso. (Inténtelo Ud. mismo). Los seres humanos a menudo tienen dificultades para leer texto extenso impreso en pantalla. Pierden el hilo de la frase; sufre su concentración. <item>No mezcle gráficos y bloques de texto. Esto es agradable a la vista pero es una característica fea a la hora de leer. Puede extender encabezados, efectos llamativos pero, por favor, no mezcle bloques de texto con gráficos. Entendidos en comportamiento descubrieron que los humanos somos atraidos mucho más por gráficos en pantalla que por texto. La gente encuentra más fácil darse cuenta de un gráfico en pantalla que en papel, al contrario que el texto el cual es más fácil "ver y decodificar" sobre el papel que en pantalla. </itemize> ¿Sabía esto? Si desea obtener más información sobre esto, busque en las guías de estilo GUI y en los resultados de investigaciones ergonómicas realizados por muchas universidades y compañías de software (incluida MS). <!-- Editores de HTML ============================= --> <sect1>Editores de HTML bajo Linux <p> Hum, existen algunos. De hecho, se tienen noticias de que son muchos. Pero como yo ya hice todo lo que pude, no los he probado todos. Pero realmente espero con ilusión y curiosidad leer los informes que Uds. me envíen. <sect2>vi, vim <p> vi y vim son perfectamente aptos para escribir codigo HTML... (no me caliente la cabeza con esto) porque el código HTML sólo utiliza caracteres de texto ASCII. No quiero dar pie a otra guerra de editores. Aquellos que conocen el vi/vim y lo usan diariamente pueden utilizarlo también para código HTML. Puede hacer que el vi/vim le ayude a desarrollar código HTML creando algunas macros para el vi/vim. Pero como esto no es un VI-COMO, dejaré este hecho aquí solo. Sólo tenga en cuenta que es posible usar el vi/vim para editar HTML (al menos para algunos cambios cortos). Si Ud. ya sabe como programar el vi/vim, ciertamente también sabrá como abstraer HTML. Si no lo sabe, bueno, no se preocupe. <sect2>emacs y XEmacs <p> <em/(por escribir, lo siento)/ <sect2>asWedit <p> <em/(por escribir, lo siento)/ <sect2>otras indicaciones <p> Ah, existen algunas referencias de un paquete llamado phoenix, basado en tkWWW, pero no he sido capaz de hacerlo funcionar en mi sistema. Creo que era un problema con mi versión del tcl/tk pero nunca lo sabré. No dediqué mucho tiempo con ellos, así que, quizás funcionen ambos en su sistema. Solamente vaya y pregunte en archie. Quizá, pueda mandarme un mensaje si tiene éxito. Si Ud. echa en falta aquí su editor de HTML favorito, escríbame un mensaje. Quizás añada algunas referencias a páginas web acerca editores de HTML para Linux. Mándeme algunas bonitas URL. <!-- conviertiendo gráficos ====================== --> <sect1>Gráficos <p> ¿ Conceptos, ideas, consejos ? Bueno, debería leer el grupo de noticias <em/comp.graphics/. Y puede visitar <tt><htmlurl url="http://www.w3.org/pub/WWW/Graphics/" name="http://www.w3.org/pub/WWW/Graphics/"></tt>. <sect2>Formato gif <p> GIF (Formato de Intercambio de Gráficos)<footnote>N. del T.: GIF = Graphics Interchange Format</footnote> fue introducido en 1987 por Compuserve, Inc. y revisado en 1989. Usa un algoritmo LZ, el cual es la causa fundamental de los derechos de autor de E.E.U.U. o de la ley de patentes. Deberían existir algunos problemas legales al usar este formato gráfico en internet (a pesar de que casi todo el mundo lo hace). Gif es un buen formato para imágenes pequeñas con gráficos de estructura simple tales como gráficos de computador o iconos. Gif posee algunas ventajas como que es uno de los formatos gráficos más extendidos (si no el más) en sistemas de conexión directa: <itemize> <item>ofrece una buena compresión <item>comprime sin pérdida de información <item>posee capacidad de entrelazado, esto es, las imágenes podrían ser vistas a tamaño real (con menos resolución) antes de que fueran traídas completamente. <item>puede contener más de una imagen dentro de un fichero <item>puede contener una animación pequeña en un fichero <item>casi cualquier visualizador gráfico de web soporta gif <item>puede contener un color transparente <item>sistema de descompresión rápido </itemize> Las desventajas son: <itemize> <item>sólo es posible imágenes de 256 colores <item>problemas de licencia y derechos de autor (?) <item>no es el tamaño de fichero ideal </itemize> <sect2>Formato jpeg <p> El "Joint Graphic Experts Group" (JPEG), Grupo de Expertos en Gráficos Unidos", hizo el diseño para el formato gráfico jpeg/jpg/jiff. Este formato está basado en una transformación discreta de coseno (DCT) y en una compresión en código Huffmann. JPEG funciona con una perdida significativa de información, lo que puede hacer que sus imágenes aparezcan algo menos coloridas o con menos definición. El factor típico de compresión está entre 1:5 y 1:50. (Por encima de 1:10 cualquiera puede ver aparecer los artefactos a través del ciclo de compresión/descompresión.) JPEG es un buen formato para fotografías, gráficos grandes e imágenes realmente complejas. Las ventajas son: <itemize> <item>fuerte compresión, ficheros pequeños y por tanto, rápidos de bajarse... <item>cualquier visualizador gráfico conoce las jpeg </itemize> Las desventajas son: <itemize> <item>compresión/descompresión lenta <item>posible pérdida de información </itemize> <sect2>Formato png <p> Portable Network Graphics (PNG), Gráficos de Red Portables, (el nuevo formato en la red). PNG está favorecido por el consorcio W3. Para una información más detalada visite <tt><htmlurl url="http://www.w3.org/pub/WWW/TR/WD-png.html" name="http://www.w3.org/pub/WWW/TR/WD-png.html"></tt> y <tt><htmlurl url="http://www.w3.org/pub/WWW/Graphics/PNG/Overview.html" name="http://www.w3.org/pub/WWW/Graphics/PNG/Overview.html"></tt>. Encontrará aquí una especificación técnica, alguna información para programadores, etc. PNG es un formato ideal que sustituye al GIF. La página principal del PNG está en <tt><htmlurl url="http://quest.jpl.nasa.gov/PNG/" name="http://quest.jpl.nasa.gov/PNG/"></tt>. Para los usuarios, PNG podrá tener algunas ventajas y algunas desventajas. Aquí están: En cuanto a las ventajas: <itemize> <item>puede reemplazar a los GIF con licencia (PNG no tiene problemas de licencia) <item>capacidad de sistemas de paleta de 256 colores así como de escala de grises y de color verdadero<footnote>N. del T.: true color = color verdadero</footnote>, incluyendo un elemento transparente <item>modo de entrelazado complejo donde no sólo líneas diferentes son secuenciadas sino que un sistema serializado de dos dimensiones obtiene la imagen, de lo que resulta que el usuario se da cuenta más pronto del contenido de la imagen. <item>es posible un algoritmo de descompresión rápido <item>descripción disponible públicamente (licencia gratis) <item>código de ejemplo disponible públicamente (licencia gratis) <item>diseño extensible </itemize> En cuanto a las desventajas: <itemize> <item>no está muy extendido (Netscape no lo soporta por el momento, pero algunos plugins lo hacen) <item>imágenes de una compresión no tan buena <item>no está lista una especificación final, en estado de borrador de trabajo. </itemize> PNG es soportado actualmente en Linux por los siguientes programas: <em/ImageMagick/ (Versión >=3.7), <em/GhostScript 4.0/, <em/Gimp/, <em/PovRay 3.0/, el paquete <em/netpbm/. Para <em/xv/ 3.10a existe un parche no oficial. <sect2>Conversores <p> <em/(por escribir, lo siento)/ netpbm, xv, ghostscript, gimp, ImageMagick, CorelDraw sobre Wine :-))) <sect1>Cosas especiales <p> Ahora existen muchas cosas especiales más allá del alcance de HTML e Image. Hay Applets escritas en páginas de Java y JavaScript y muchas cosas más. <sect2>Java <p> No hay nada que añadir sobre Java en general, sólo lea la sección de Java en el capítulo de Netscape Navigator de este COMO y la descripción general sobre Java Applet contra las macros CGI en este COMO. Además, también puede leer el COMO JAVA de Linux, realmente bueno y compacto. Para programar en Java, por favor refiérase a libros verdaderamente buenos en este tema. <sect2>ActiveX <p> ActiveX es todavía, en el momento de escribir esto, un hijo de Microsoft. Microsoft proclamó que lo difundiría al dominio público o al menos en el consorcio ActiveX. ActiveX no tiene nada que ver con el sistema X Window ni con XFree. Deriva del sistema OLE de Microsoft e IBM. Después de difundir las especificaciones, habría una adaptación a Unix. Pero, tenemos que esperar hasta entonces. Nada para Linux, por el momento. <!-- WWW = FAQ == SECCION ======================================== --> <sect>FAQ <p> No hay cuestiones preguntadas frecuentemente (todavía...) <!-- SECCION Para una lectura adicional ========================== --> <sect>Para una lectura adicional <p> <itemize> <item>RFC1866 escrito por T. Berners-Lee y D. Connolly, "Hypertext Markup Language - 2.0", 11/03/1995 <item>RFC1867 escrito por E. Nebel y L. Masinter, "Form-based File Upload in HTML", 11/07/1995 <item>RFC1942 escrito por D. Raggett, "HTML Tables", 05/15/1996 <item>RFC1945 por T. Berners-Lee, R. Fielding, H. Nielsen, "Hypertext Transfer Protocol -- HTTP/1.0", 05/17/1996. <item>RFC1630 por T. Berners-Lee, "Universal Resource Identifiers in WWW: A Unifying Syntax for the Expression of Names and Addresses of Objects on the Network as used in the World-Wide Web", 06/09/1994 <item>RFC1959 por T. Howes, M. Smith, "An LDAP URL Format", 06/19/1996 </itemize> <!-- AGRADECIMIENTOS == SECCION ======================================== --> <sect>Agradecimientos <p> Agradecimiento especial a Greg Hankins <tt><htmlurl url="mailto:gregh@cc.gatech.edu" name="gregh@cc.gatech.edu"></tt> por animarme a escribir este trabajo y el entretenimiento del que disfruté haciéndolo. También me gustaría agradecer a Chris Hendricks, <em>Fido: 2:2433/443@fidonet.org</em> <tt><htmlurl url="mailto:Chris_Hendricks@p0.f443.n2433.z2.fidonet.org" name="Chris_Hendricks@p0.f443.n2433.z2.fidonet.org"></tt> por su compromiso con Linux y mi carrera personal a mantener al menos una nariz por delante :-) </article>