02/10/2013

Client-side y server-side: ¿cómo validar el envío de información?

Client-side y server-side: ¿cómo validar el envío de información?

Las aplicaciones web funcionan sobre un esquema cliente-servidor. En este tipo de interacción, el usuario (cliente) realiza peticiones a un programa remoto (servidor), quien le devolverá a cambio una respuesta.

La información que se intercambia en esa comunicación puede ser procesada mayormente por el cliente (en el caso de una aplicación web, el browser) o bien por el servidor remoto. Estas modalidades se conocen como client-side y server-side. Los lenguajes de programación web deben necesariamente encuadrarse en uno de los dos esquemas. Por ejemplo, JavaScript y ActionScript son lenguajes de scripting client-side, mientras que PHP y ASP.NET son server-side. Las aplicaciones desarrolladas con lenguajes de programación server-side necesitan el montaje de un servidor web para funcionar.

Algunos componentes, como formularios de contacto o de publicación de comentarios, requieren de un sistema que actúe de filtro para evitar el envío de texto no deseado, como mensajes de spam, datos inválidos o código malicioso. Esta validación puede realizarse tanto por lenguajes client-side como server-side, pero ¿cuál es el mejor tipo de filtro?

Client-side

Ventajas

  • Es más veloz, ya que no requiere de un permanente «ida y vuelta» con el servidor.
  • Por lo anterior, si el usuario ingresa información incorrecta el mensaje de error puede aparecer de manera inmediata (sin tener que recargar la página).

Desventajas

  • Es fácil de sobrepasar: el código en lenguaje de scripting puede ser leído e incluso deshabilitado desde cualquier browser.

Server-side

Ventajas

  • Es más seguro: el código no puede ser deshabilitado ni alterado con facilidad.

Desventajas

  • No permite informar al usuario de los errores de su formulario a medida que lo completa. El usuario puede tener que llenar el formulario varias veces hasta haber mitigado todos los posibles errores.

A diferencia de la validación server-side (que determina el verdadero nivel de protección del formulario), la validación client-side no es indispensable, pero mejora la experiencia de usuario. La mejor opción es combinar los dos enfoques.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce