PROGRAMACIÓN, WEB

XHTML

XHTML (eXtensible HyperText Markup Language), es básicamente HTML expresado como XML válido. Es más estricto a nivel técnico, pero esto permite que posteriormente sea más fácil al hacer cambios o buscar errores entre otros. En su versión 1.0, XHTML es solamente la versión XML de HTML, por lo que tiene, básicamente, las mismas funcionalidades, pero cumple las especificaciones, más estrictas, de XML. Su objetivo es avanzar en el proyecto del World Wide Web Consortium de lograr una web semántica, donde la información, y la forma de presentarla estén claramente separadas. La versión 1.1 es similar, pero parte a la especificación en módulos. En sucesivas versiones la W3C planea romper con los tags clásicos traídos de HTML.

Las principales ventajas del XHTML sobre el HTML son:

  • Se pueden incorporar elementos de distintos espacios de nombres XML (como MathML y Scalable Vector Graphics).
  • Un navegador no necesita implementar heurísticas para detectar qué quiso poner el autor, por lo que el parser puede ser mucho más sencillo.
  • Como es XML se pueden utilizar fácilmente herramientas creadas para procesamiento de documentos XML genéricos (editores, XSLT, etc.).
Anuncios
WEB

GOOGLE AMP

Google AMP es una plataforma dirigida a que los medios puedan mejorar el rendimiento en sus páginas webs móviles. Se trata de una oportunidad nueva para los medios de comunicación, como alternativa a los contenidos nativos y lo que ofrecen otras plataformas como Facebook Instant Articles o LinkedIn Pulse.

Accelerated Mobile Pages es una iniciativa de código abierto que tiene como objetivo que las páginas web que cuentan con una gran cantidad de contenidos, como vídeos, imágenes, animaciones, gráficos, anuncios publicitarios, etc., se carguen de forma instantánea en el móvil. Además, también se pretende que el mismo código funcione de la misma manera en cualquier dispositivo. Este proyecto de Google está basado en AMP HTML, lo que sería un nuevo formato abierto, que nace de tecnología web ya existente, y que permite a las páginas web crear unas versiones ligeras de las web estándar.

Hay que tener en cuenta que este proyecto de Google surge después de que la compañía se pusiera en contacto con medios, editores y compañías tecnológicas de todo el mundo para conocer los problemas con los que se encuentran a la hora de acceder a una web en el móvil, y forma parte de la Digital News Initiative (DNI).

La idea de Google, es que otros de sus productos, como es el caso de Google News, o el buscador de Google, que en dispositivos iOS ya se ha actualizado en este sentido, por ejemplo, adopten este nuevo formato AMP HTML. Por otra parte, ya son más de 30 editores a nivel global los que forman parte del proyecto de Google AMP. De esta forma, el buscador quiere colaborar con diferentes medios, editores y compañías tecnológicas para mejorar la experiencia móvil de los usuarios en todo el mundo. Firmas como Twitter, Pinterest, WordPress o LinkedIn, entre otras, ya están entre los primeros socios tecnológicos comprometidos en adoptar este formato.

descarga.png

WEB

QUE ES EL DOMINIO DE UN SITIO WEB

Un dominio o nombre de dominio es el nombre que identifica un sitio web. Cada dominio tiene que ser único en Internet. Por ejemplo, “www.masadelante.com” es el nombre de dominio de la página web de Masadelante. Un solo servidor web puede servir múltiples páginas web de múltiples dominios, pero un dominio sólo puede apuntar a un servidor.

Un dominio se compone normalmente de tres partes: en www.masadelante.com, las tres uves dobles (www), el nombre de la organización (masadelante) y el tipo de organización (com).

Los tipos de organización más comunes son .COM, .NET, .MIL, y .ORG, que se refieren a comercial, network, militar, y organización (originalmente sin ánimo de lucro, aunque ahora cualquier persona puede registrar un dominio .org).

Puesto que Internet se basa en direcciones IP, y no en nombres de dominio, cada servidor web requiere de un servidor de nombres de dominio (DNS) p ara traducir los nombres de los dominios a direcciones IP. Cada dominio tiene un servidor de nombre de dominio primario y otro secundario.

¿Cuál es la estructura de un nombre de dominio?

En Colombia, un nombre de dominio está compuesto por tres campos, con el carácter “.” (punto) como separador. Por ej: uniandes.edu.co donde:

Primer campo (uniandes): nombre, sigla o abreviatura del nombre de la Organización o Empresa solicitante del dominio, Segundo campo (edu): carácter de la Organización o Empresa. Tercer campo (co): abreviatura de Colombia.

Primer Campo:

Puede corresponder al nombre de la empresa u organización (Nombre o Enseña Comercial, Razón Social, Marca Registrada).

Los únicos caracteres válidos para un nombre de dominio son las letras del alfabeto inglés (“a” – “z”), los dígitos (“0” – “9”) y el guión (” – “). No puede poseer espacios.

El caracter (ñ) no es válido.

El primer y/o el último caracter del dominio no puede ser el guión ( -) ni underscore (_).

La longitud máxima admitida para un dominio bajo “co” es de 63 caracteres. La máxima recomendada, por motivos prácticos y de configuración, es de 24 caracteres.

El solicitante es responsable por el uso del nombre del dominio y de los subdominios que a su vez establezca.

Segundo Campo:

De acuerdo con el carácter de su Entidad, usted debe elegir el segundo campo de su dominio. Este campo facilitará la búsqueda de su nombre. Por esta razón, debe expresar de forma precisa el carácter de su Organización. Dependiendo del tipo de organización y de su objeto social, el segundo campo del dominio puede ser:

Empresas comerciales .com
Instituciones de educación o investigación .edu
Organizaciones no gubernamentales .org
Agencias gubernamentales .gov
Agencias militares .mil
Proveedores de Servicios de Internet .net

Tercer Campo: (co) abreviatura de Colombia. (Tomado de http://www.nio.co)

SEGURIDAD, WEB

VULNERABILIDADES EN UN SITIO WEB

El grado de inseguridad que puede presentar un sitio web depende directamente de las funcionalidades que el mismo tenga instaladas. Si el sitio está creado usando simplemente HTML (y en nuestras carpetas sólo tenemos archivos .htm, .html, .css, .jpg y .gif) entonces el peligro será mínimo, y las posibles vulnerabilidades estarán completamente del lado del lado que le toca atender a nuestro proveedor de hosting.

Si nuestro sitio web está creado usando un sistema de Server Side Scripting (como lo son PHP, ASP, JSP, etc) entonces ya existe la posibilidad de que en nuestros scripts aparezcan potenciales fallos de seguridad. Sobre todo, si en uno o más lugares del sitio hay formularios que permitan al usuario enviarnos datos (un formulario de contacto, o un formulario de suscripción a un boletín, por ejemplo).

Si además de usar un lenguaje como PHP o ASP, nuestro sitio usa bases de datos (como MySQL, Oracle, SQL-Server, etc) entonces las posibilidades de ataques se multiplican por diez.

Y si además de usar PHP (o ASP) y bases de datos, utilizamos scripts y programas estándar dentro de nuestro sitio (como ser scripts de administración de contenidos, foros, galerías de fotos, programas de intercambios de enlaces, etc) las posibilidades de resultar vulnerables y ser atacados por intrusos son mucho mayores. Lo mismo ocurre en caso de que usemos scripts o programas CGI.

RECOMENDACIONES:

Mantener los scripts y programas web actualizados y cambiarlos o parcharlos inmediatamente cuando se descubra un bug o un problema de inseguridad en los mismos. Ahora vale la pregunta: ¿y cómo hago para informarme inmediatamente cuando se descubre una vulnerabilidad en los scripts que tengo instalados? Hay varias formas de informarse:

El método “paranoico”

Muchos administradores de sistemas visitan diariamente sitios especializados que publican reportes de vulnerabilidades. Algunos de ellos son: securityfocus.com, secunia.com, us-cert.com. El problema de este método es que requiere de una gran dosis de disciplina y constancia: hay que consultar las listas de vulnerabilidades todos los días, revisando una por una a ver si hallamos alguna que afecte a nuestros sistemas. Personalmente tuve que hacerlo durante varios años, y confieso que es aburridor y tedioso.

El método automatizado

Consiste en crear una cuenta en Alertahacker.com (o HackerWarnings.com), ingresar al panel de control del servicio y configurar en nuestra cuenta cuáles son los productos que queremos monitorizar: si en algún momento se reporta alguna vulnerabilidad en alguno de nuestros scripts y programas, el sistema nos hará llegar un e-mail inmediatamente alertándonos y adjuntando la dirección de la página web donde se describe el problema descubierto.

Estos servicios son gratuitos y de libre acceso, y no compiten con los sitios que se dedican a registrar y documentar reportes de vulnerabilidades, tal cual lo hacen SecurityFocus (también conocido como BugTraq) o Secunia. AlertaHacker.com se limita a rastrear en la web y hallar reportes de seguridad recientes que se ajusten a las preferencias que le hemos configurado, entonces sólo nos enviará el aviso conteniendo las referencias al sitio del autor original del reporte. Y esto nos resuelve el problema de estar informados de los fallos de seguridad en nuestro software sin tener que invertir ni un minuto en leer largas listas de reportes de seguridad referentes a programas que ni usamos ni nos interesan.

Una vez enterados de un problema de seguridad en alguno de los softwares que tengamos instalados, el próximo paso será visitar el sitio web original del software en cuestión. Allí buscaremos cuál es la nueva versión del programa. En otros casos hallaremos un “parche” o “actualización” que solucione el problema. Estos parches suelen estar acompañados de instrucciones detalladas que explican cómo instalarlos. También existe la posibilidad de que los autores del programa se estén enterando de la existencia de la vulnerabilidad al mismo tiempo que nosotros… entonces deberemos aguardar a que creen el parche o la actualización, y lo publiquen en su web. En estos casos también es recomendable usar algún buscador para encontrar si en algún otro sitio web o foro alguien describe un método para “parchar” el problema de seguridad por nuestra cuenta (siempre y cuando no resulte muy difícil).

Usar un esquema seguro de nombres de usuario y passwords. Origen del 11% de los ataques exitosos contra sitios web

Muchos artículos escritos por expertos recomiendan usar nombres difíciles, donde se combinen letras mayúsculas, minúsculas, signos de puntuación y números. Por ejemplo: “R47n!Y2a5Mm”. No voy a discutir que esto es un password seguro… pero también es horrible para escribirlo cada vez que voy a usar el FTP. Además, es difícil, o imposible de memorizar. Y si además en cada sitio web y en cada programa tengo que poner uno diferente… sin duda estaré complicando mi trabajo.

En la práctica resultan buenos passwords aquellos conformados por breves frases como “quebuenaestalavecina” o “mevoyajugaralcounter”. Estos no contienen cifras, ni mayúsculas, ni signos de puntuación (por lo que no cumplen con las recomendaciones de mis colegas), y sin embargo son muy difíciles de crackear, aún usando programas automatizados (fundamentalmente debido a su longitud). Y tienen la enorme ventaja de que son fáciles de recordar y de escribir.

Y no olvidemos usar un password diferente en cada uno de los programas, en cada uno de los sitios web. Si vamos a escribir los passwords para no olvidarlos, nunca debe hacerse en un archivo en la PC. Si alguien pudiera penetrar en nuestra PC, se encontraría “de obsequio” con una hermosa lista de direcciones y passwords para divertirse en grande! En este caso es mejor anotar esta información en una tarjeta, y llevarla en la billetera. Al anotar los passwords no es conveniente aclarar completamente a qué corresponden: si alguien encontrase nuestra tarjeta de passwords tendría sólo eso: una tarjeta con passwords (no sabrá de qué cosa o de qué lugar son).

Borrar los scripts de instalación de los productos

Cuando instalamos un script, por ejemplo basado en PHP/MySQL, es habitual que durante el proceso de instalación debamos invocar un script que cree las tablas y las estructuras necesarias en las bases de datos. Este script puede llamarse install.php, ó /admin/configure.php, etc. Cada producto tiene su propio procedimiento de instalación, los archivos de creación inicial de tablas tendrán ubicaciones distintas, con nombres distintos.

Una vez que un atacante identificó que en nuestra web estamos usando un producto específico, entonces estará en condiciones de ir al sitio web del producto, leer los manuales de instalación, y luego volver a nuestro sitio y probar con (por ejemplo):

http://www.sitio-victima.com/admin/install/installdb.php

Recordemos que la misión de este script es crear las tablas de la base de datos, y si en este momento nuestra base de datos contiene información, entonces muy probablemente se esté borrando absolutamente todo el contenido actual (aunque este comportamiento puede variar de producto en producto).

Los manuales de instalación de los scripts normalmente indican cuáles son los ficheros que conviene borrar luego de completada la instalación, luego que el sistema queda funcionando. El problema es que luego de quedar funcionando, muchos webmasters simplemente ponen punto final a la instalación, y dejan funcionando el sitio web sin haber borrado nunca estos scripts que ahora no sólo son innecesarios sino que además resultan peligrosos. Una buena medida de seguridad sería revisar sitio por sitio a ver si hemos olvidado borrar alguno de estos scripts de instalación. Piensa que tal vez en este mismo momento alguno de tus enemigos esté leyendo este artículo, y sea él quien se tome el trabajo de revisar a ver si olvidaste borrar alguna de estas “bombas de tiempo”.

PROGRAMACIÓN, WEB

LENGUAJE DE MARCADO

Un lenguaje especializado basado en SGML es el que se emplea para redactar la versión digital del Oxford English Dictionary. Permite búsquedas sofisticadas, además de facilitar la conversión a HTML.

Un lenguaje de marcado o lenguaje de marcas es una forma de codificar un documento que, junto con el texto, incorpora etiquetas o marcas que contienen información adicional acerca de la estructura del texto o su presentación.

El lenguaje de marcas más extendido es el HTML (HyperText Markup Language, lenguaje de marcado de hipertexto), fundamento del World Wide Web (entramado de comunicación de alcance mundial).

Los lenguajes de marcado suelen confundirse con lenguajes de programación. Sin embargo, no son lo mismo, ya que el lenguaje de marcado no tiene funciones aritméticas o variables, como poseen los lenguajes de programación. Históricamente, el marcado se usaba y se usa en la industria editorial y de la comunicación, así como entre autores, editores e impresores.

CLASES DE LENGUAJES DE MARCADO

Se suele diferenciar entre tres clases de lenguajes de marcado, aunque en la práctica pueden combinarse varias clases en un mismo documento. Por ejemplo, el HTML contiene etiquetas puramente procedimentales, como la B de bold (negrita), junto con otras puramente descriptivas (‘BLOCKQUOTE, el atributo HREF). El HTML también incluye el elemento PRE, que indica que el texto debe representarse tal y como está escrito.

Marcado de presentación

El marcado de presentación es aquel que indica el formato del texto. Este tipo de marcado es útil para maquetar la presentación de un documento para su lectura, pero resulta insuficiente para el procesamiento automático de la información. El marcado de presentación resulta más fácil de elaborar, sobre todo para cantidades pequeñas de información. Sin embargo, resulta complicado de mantener o modificar, por lo que su uso se ha ido reduciendo en proyectos grandes en favor de otros tipos de marcado más estructurados.

Marcado de procedimientos

El marcado de procedimientos está enfocado hacia la presentación del texto, sin embargo, también es visible para el usuario que edita el texto. El programa que representa el documento debe interpretar el código en el mismo orden en que aparece. Por ejemplo, para formatear un título, debe haber una serie de directivas inmediatamente antes del texto en cuestión, indicándole al software instrucciones tales como centrar, aumentar el tamaño de la fuente, o cambiar a negrita. Inmediatamente después del título deberá haber etiquetas inversas que reviertan estos efectos. En sistemas más avanzados se utilizan macros o pilas que facilitan el trabajo.

Marcado descriptivo

El marcado descriptivo o semántico utiliza etiquetas para describir los fragmentos de texto, pero sin especificar cómo deben ser representados, o en qué orden. Los lenguajes expresamente diseñados para generar marcado descriptivo son el SGML y el XML.

Una de las virtudes del marcado descriptivo es su flexibilidad: los fragmentos de texto se etiquetan tal como son, y no tal como deben aparecer. Estos fragmentos pueden utilizarse para más usos de los previstos inicialmente. Por ejemplo, los hiperenlaces fueron diseñados en un principio para que un usuario que lee el texto los pulse. Sin embargo, los buscadores los emplean para localizar nuevas páginas con información relacionada, o para evaluar la popularidad de determinado sitio web.

PROGRAMACIÓN, WEB

QUE ES W3C

El Consorcio WWW, en inglés: World Wide Web Consortium (W3C), es un consorcio internacional que genera recomendaciones y estándares que aseguran el crecimiento de la World Wide Web a largo plazo.

El W3C fue creado el 1 de octubre de 1994, por Tim Berners-Lee en el Instituto Tecnológico de Massachusetts (MIT), actual sede central del consorcio. Uniéndose posteriormente, en abril de 1995, INRIA en Francia, reemplazado por el ERCIM en 2003 como el huésped europeo del consorcio y la Universidad de Keiō (Shonan Fujisawa Campus) en Japón como huésped asiático, en septiembre de 1996. Estos organismos administran el W3C, que está integrado por:

Miembros: a abril de 2010 contaba con 330 miembros.

  • Equipo (W3C Team): 65 investigadores y expertos de todo el mundo.
  • Oficinas (W3C Offices): centros regionales establecidos en Alemania y Austria (oficina conjunta), Australia, Benelux (oficina conjunta), China, Corea del Sur, España, Finlandia, Grecia, Hong Kong, Hungría, India, Israel, Italia, Marruecos, Suecia y Reino Unido e Irlanda (oficina conjunta).
  • La oficina española del W3C, establecida en 2003, está albergada por la Fundación CTIC en el Parque Científico Tecnológico de Gijón (Principado de Asturias).

Estándares publicados por el W3C/IETF (sobre el Internet protocol suite):

  • CGI
  • CSS
  • DOM
  • GRDDL
  • HTML
  • MathML
  • OWL
  • P3P
  • PROV
  • RDF
  • SISR
  • SKOS
  • SMIL
  • SOAP
  • SPARQL
  • SRGS
  • SSML
  • SVG
  • VoiceXML
  • XHTML
  • XHTML+Voice
  • XML
  • XML Events
  • XML Information Set
  • XML Schema
  • XPath
  • XQuery
  • XSL-FO
  • XSLT
  • WCAG
  • WSDL
  • XForms
PROGRAMACIÓN, WEB

PÁGINAS ESTÁTICAS VS. DINÁMICAS

En la web podemos encontrar, o construir, dos tipos de páginas:

  • Las que se presentan sin movimiento y sin funcionalidades más allá de los enlaces
  • Las páginas que tienen efectos especiales y en las que podemos interactuar.

Las primeras páginas son las que denominamos páginas estáticas, se construyen con el lenguaje HTML, que no permite grandes florituras para crear efectos ni funcionalidades más allá de los enlaces.

Estas páginas son muy sencillas de crear, aunque ofrecen pocas ventajas tanto a los desarrolladores como a los visitantes, ya que sólo se pueden presentar textos planos acompañados de imágenes y a lo sumo contenidos multimedia como pueden ser videos o sonidos

El segundo tipo de páginas se denomina página dinámica. Una página es dinámica cuando se incluye cualquier efecto especial o funcionalidad y para ello es necesario utilizar otros lenguajes de programación, aparte del simple HTML.

Mientras que las páginas estáticas todo el mundo se las puede imaginar y no merecen más explicaciones, las páginas dinámicas son más complejas y versátiles. Para aclarar este concepto, veremos con detalle a continuación qué son las páginas dinámicas.

PÁGINAS DINÁMICAS

Como hemos visto, una página es dinámica cuando realiza efectos especiales o implementa alguna funcionalidad o interactividad.

Además, hemos visto que para programar una página dinámica necesitaremos otros lenguajes aparte del HTML. Sin embargo, nunca hay que olvidarse del HTML, ya que éste es la base del desarrollo web: generalmente al escribir una página dinámica el código de los otros lenguajes de programación se incluye embebido dentro del mismo código HTML.

Una razón por la que construiremos una página dinámica es la simple vistosidad que pueden alcanzar los trabajos, ya que podemos hacer presentaciones más entretenidas de las que se consiguen utilizando únicamente HTML. Pero vamos a ver con calma algunas razones menos obvias pero más importantes.

Supongamos que hemos decidido realizar un portal de televisión donde una de las informaciones principales a proveer podría ser la programación semanal. Efectivamente, esta información suele ser dada por las televisiones con meses de antelación y podría ser muy fácilmente almacenada en una base de datos. Si trabajásemos con páginas HTML, tendríamos que construir una página independiente para cada semana en la cual introduciríamos “a mano” cada uno de los programas de cada una de las cadenas. Asimismo, cada semana nos tendríamos que acordar de descolgar la página de la semana pasada y colgar la de la actual. Todo esto podría ser fácilmente resuelto mediante páginas dinámicas. En este caso, lo que haríamos sería crear un programa (solo uno) que se encargaría de recoger de la base de datos de la programación aquellos programas que son retransmitidos en las fechas que nos interesan y de confeccionar una página donde aparecerían ordenados por cadena y por hora de retransmisión. De este modo, podemos automatizar un proceso y desentendernos de un aspecto de la página por unos meses.

Este hecho lo podríamos aplicar a otras situaciones: podemos preparar el horóscopo de todos los días, las promociones de un sitio de e-comerce.

Podemos hacer una clasificación a las páginas dinámicas en función de dónde se lleva a cabo el procesamiento de la página, es decir, el computador que cargará con el peso adicional que supone que la página realice efectos y funcionalidades.

PÁGINAS DINÁMICAS DE CLIENTE

Son las páginas dinámicas que se procesan en el cliente. En estas páginas toda la carga de procesamiento de los efectos y funcionalidades la soporta el navegador.

Usos típicos de las páginas de cliente son efectos especiales para webs como rollovers o control de ventanas, presentaciones en las que se pueden mover objetos por la página, control de formularios, cálculos, etc.

El código necesario para crear los efectos y funcionalidades se incluye dentro del mismo archivo HTML y es llamado SCRIPT. Cuando una página HTML contiene scripts de cliente, el navegador se encarga de interpretarlos y ejecutarlos para realizar los efectos y funcionalidades.

Las páginas dinámicas de cliente se escriben en dos lenguajes de programación principalmente: Javascript y Visual Basic Script (VBScript), que veremos en detalle más adelante. También veremos el concepto de DHTML y conoceremos las CSS.

Las páginas del cliente son muy dependientes del sistema donde se están ejecutando y esa es su principal desventaja, ya que cada navegador tiene sus propias características, incluso cada versión, y lo que puede funcionar en un navegador puede no funcionar en otro.

Como ventaja se puede decir que estas páginas descargan al servidor algunos trabajos, ofrecen respuestas inmediatas a las acciones del usuario y permiten la utilización de algunos recursos de la máquina local.

PÁGINAS DINÁMICAS DE SERVIDOR

Podemos hablar también de páginas dinámicas del servidor, que son reconocidas, interpretadas y ejecutadas por el propio servidor.

Las páginas del servidor son útiles en muchas ocasiones. Con ellas se puede hacer todo tipo de aplicaciones web. Desde agendas a foros, sistemas de documentación, estadísticas, juegos, chats, etc. Son especialmente útiles en trabajos que se tiene que acceder a información centralizada, situada en una base de datos en el servidor, y cuando por razones de seguridad los cálculos no se pueden realizar en el ordenador del usuario.

Es importante destacar que las páginas dinámicas de servidor son necesarias porque para hacer la mayoría de las aplicaciones web se debe tener acceso a muchos recursos externos al ordenador del cliente, principalmente bases de datos alojadas en servidores de Internet. Un caso claro es un banco: no tiene ningún sentido que el cliente tenga acceso a toda la base de datos, sólo a la información que le concierne.

Las páginas dinámicas del servidor se suelen escribir en el mismo archivo HTML, mezclado con el código HTML, al igual que ocurría en las páginas del cliente. Cuando una página es solicitada por parte de un cliente, el servidor ejecuta los scripts y se genera una página resultado, que solamente contiene código HTML. Este resultado final es el que se envía al cliente y puede ser interpretado sin lugar a errores ni incompatibilidades, puesto que sólo contiene HTML

Luego es el servidor el que maneja toda la información de las bases de datos y cualquier otro recurso, como imágenes o servidores de correo y luego envía al cliente una página web con los resultados de todas las operaciones.

Para escribir páginas dinámicas de servidor existen varios lenguajes, que veremos con detenimiento más adelante. Common Gateway Interface (CGI) comúnmente escritos en Perl, Active Server Pages (ASP), Hipertext Preprocesor (PHP), y Java Server Pages (JSP).

Las ventajas de este tipo de programación son que el cliente no puede ver los scripts, ya que se ejecutan y transforman en HTML antes de enviarlos. Además son independientes del navegador del usuario, ya que el código que reciben es HTML fácilmente interpretable.

Como desventajas se puede señalar que será necesario un servidor más potente y con más capacidades que el necesario para las páginas de cliente. Además, estos servidores podrán soportar menos usuarios concurrentes, porque se requerirá más tiempo de procesamiento para cada uno.