09 diciembre, 2012

La diferencia entre GET y POST o el porque contratar profesionales para tu sitio web

Nunca deja de impresionarme lo que uno se encuentra cuando se mete a ver el código de una página web, a veces no sabes si reír o llorar. Recientemente un cliente nos pidió actualizar su sitio web, así que manos a la obra empezamos a revisar todo el contenido del mismo y lo que se requería en tiempos para hacer las actualizaciones. ¿Lo que encontramos? GETs en donde deber ir POSTs. Déjenme les explico que significa esto. Cuando ustedes llenan algún formulario, existen dos opciones de enviar esos datos y recibir una respuesta. La primera es usando GET para acciones "seguras" y la segunda es usando POST para acciones "inseguras". Por ejemplo si llenan un formulario que dependiendo la respuesta les muestra diferente información pero no modifica nada en el servidor, entonces en una buena idea usar GET, pero si llenan un formulario que va a grabar, cambiar o borrar información siempre deben usar POST. Basecamp, una aplicación de administración de proyectos de 37Ssignals, tuvo problemas con esto hace un par de años, cuando decidieron usar GET para varios pedidos, asumiendo que como el usuario tenía que ingresar a la aplicación era seguro usarlo. Lo que no previeron fue que muchos usuarios tenían instalado el toolbar de Google para acelerar su conexión y una de las cosas que hace es precargar todos los enlaces de una página incluyendo todos los pedidos GET. Así que ya se imaginarán el problema cuando todos sus archivos se empezaron a borrar. Las pedidos GET son excelentes en general porque: 1) Pueden guardarse en cache 2) Se quedan en el historial de los navegadores 3) Se pueden poner como favoritos 4) Pueden ser distribuidos y compartidos 5) Pueden ser hackeados Así que para cualquier acción como borrar, guardar, actualizar, asegúrense de usar POST.