Ir al contenido principal

Introducción al back-end

Introducción al back-end

Inicialmente debe estar instalado y configurado correctamente Docker y Vagrant

Protocolo http (hypertext transfer protocol):  Es un protocolo de comunicación (reglas) de hipertexto. Permite el internet como lo conocemos, todo viaja a través de este protocolo. Este permite la comunicación entre los servidores y la página web. Los hipertextos corresponden a los links o enlaces.

HTTP permite la conexión con el internet. Es un protocolo basado en texto, es decir, el servidor envía texto y responde con texto también. Los navegadores interpretan el texto que envían los servidores.

Primer paso: Request

El cliente envía una solicitud GET de la siguiente forma: 

  • En consola: telnet www.spacejam.com 80 (puerto)
  • GET/ HTTP/1.1
  • Host: www.spacejam.com (ejemplo)
  • Accept: text/html
  • User-Agent: Mozilla/5.0 (Macintosh)

Al ejecutar los códigos anteriores, se redireccionan al https (protocolo seguro).

Es importante aclarar que se quiere acceder al dominio (space jam) con una ruta "/" (URI o apertura desde la raíz), usando el método GET.

Métodos HTTP:

  • GET:  Trae información del servidor (por defecto)
  • POST:  Crear información en un servidor (formularios)
  • PUT/PASH:  Actualizar información existente en el servidor, normalmente usando una API
  • DELETE: Borra información del servidor
Estos métodos del protocolo HTTP están ligados a un CRUD

Restful: patrón arquitectónico que se utiliza para aprovechar las ventajas del HTTP, para generar las interfaces requeridas en el sistema.

Un patrón es algo que se pueda identificar, puede ser una serie de eventos, la forma de algo... Es una solución probada y que aplica a un problema recurrente.

Códigos de respuesta:

Empiezan por:

1 - Código informativo
2 - Respuesta exitosa
3 - Código de redirección
4 - Error del cliente (del usuario)
5 - Error del servidor (de la app)

Códigos más comunes:

200: Ok
301: Todas la conexiones futuras van a ser redirigidas a la URL dada
302: Sitio movido de manera temporal
305: Mediante el proxy, se produce una redirección de las peticiones que solicita el usuario en el PC (puerto 80 es al que se conecta el protocolo HTTP por defecto). Es posible producir también redirecciones entre puertos (puerto 443, es al que se conecta el protocolo HTTPS)



Tipos de contenido: Contenido descargado desde el protocolo http:

  • Texto (HTML)
  • Application (JSON)
HTML: Es el componente del protocolo http, principalmente para generar enlaces de redireccionamiento.

SOAP (Simple Object Access Protocol): Protocolo basado en xml (usa etiquetas de apertura y cierre)

JSON (Javascript Object Notation): Formato de texto que permite intercambiar datos entre los equipos y servidores. Es un protocolo más liviano, que permite organizar mejor los datos en un espacio determinado.

Usos del HTTP: 
  • Transmitir datos a servidores
  • Sitios web
  • Backend de aplicaciones móviles
  • Backend de aplicaciones empresariales
En internet hay servidores Linux y muchos servidores web

El servidor

Un cliente (computador) envía un request al servidor, donde están alojados los archivos del programa y los archivos HTML. Allí, el servidor la procesa y devuelve un reponse

Tipos de servidores:

Estáticos: Los archivos son servidos tal cual están almacenados en el servidor
Dinámicos: Dependen de un lenguaje de programación, el cual da ciertas condiciones, muestra información diferente al cliente,. Suelen conectarse a DBs u otros servicios de backend.

Servidores Open Source:
  • Apache http server: Soporta más de la mitad de sitios web en el mundo. Hace gran equipo con otras tecnologías como Linux, Apache MySQL y PHP (Lamp). Soporta muchos lenguajes de programación.
  • Nginx: Servidor web moderno. Sirve para las mismas tecnologías anteriormente mencionadas, pero es más liviano y veloz. Se usa mucho como web server, proxy server o load balancer.
  • Tomcat (contenedor de apps Java):  Es un contenedor de servlets (componente desarrollado en Java), usado también como servidor web
  • Node.js (plataforma completa de desarrollo y tiene aplicación como servidor web): Entorno de aplicaciones para Javascript. No solo funciona para servir las aplicaciones, sino también para desarrollarlas
  • Lightpd (Youtube)
  • IIS (Servidores Windows): Versión de Microsoft de Apache
Pasos para conectar el ambiente de vagrant y docker:
  1. Clonar repo: https://github.com/afreydev/web-app-dev . git clone https://github.com/afreydev/web-app-dev.git
  2. Ir a la carpeta flask-examples y arrancar el ambiente vagrant.    vagrant up
  3. Entrar al ambiente vagrant.   vagrant ssh
  4. En el ambiente vagrant ir a /vagrant.     cd   /vagrant
  5. ejecutar: docker-compose up

Comentarios