4Geeks logo
4Geeks logo

Bootcamps

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Academia

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Full-Stack Software Developer - 16w

Data Science and Machine Learning - 16 wks

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones

Weekly Coding Challenge

Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!

Únete al reto

Podcast: Code Sets You Free

Un podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.

Escuchar el podcast
Editar en Github

¿Qué hay detrás de un desarrollador de Back-End?

El Lado Back-End de la Web

El Lado Back-End de la Web

No hace mucho tiempo, los navegadores eran muy tontos. Todo lo que hacían era renderizar documentos HTML en una versión muy básica de HTML. No había CSS, ni JS. ¡Eso significa que los desarrolladores web front-end no existían!

Todo el trabajo era realizado por el servidor: como no había JavaScript, el DOM no podía actualizarse mientras se ejecutaba el sitio web. Eso significa que el código fuente HTML inicial que recibía el navegador al cargar el sitio web también era la última versión del mismo. No había modificaciones en el DOM.

La Arquitectura del Cliente-Servidor

¿Recuerdas cómo funciona el Internet? Cada dominio apunta a una única dirección IP/servidor, y ese servidor está listo para devolver una respuesta de texto a cualquier solicitud HTTP que provenga de cualquier cliente.

Piensa en el servidor como un "generador de documentos". Puede ser una imagen, un video, un documento de texto, JSON, HTML, CSS, etc. La responsabilidad del servidor es responder con contenido cada vez que el cliente lo solicite.

backend developer

Junto con el contenido del documento generado, el servidor también puede especificar con qué tipo de contenido está respondiendo, permitiendo que el navegador lea e interprete la respuesta de manera precisa. Los formatos de respuesta disponibles pueden ser cientos, pero estos son los más comunes:

Respuestas del Servidor Content-Types

Content-TypeDescripción
text/plainEste es el valor predeterminado para los archivos de texto. Incluso si realmente significa un archivo de texto desconocido, los navegadores asumen que pueden mostrarlo.
text/cssCualquier archivo CSS que deba interpretarse como tal en una página web debe ser un archivo text/css. A menudo, los servidores no reconocen archivos con el sufijo .css como archivos CSS y en su lugar los envían como text/plain.
text/htmlTodo el contenido HTML debe ser creado con este tipo.
image/gif
image/jpeg
image/png
image/svg+xml
Solo algunos tipos de imágenes son ampliamente reconocidos y se consideran seguros para la web (listos para usarse en una página web).
audio/wav
audio/mpeg
Para archivos de audio .wav .mp3
multipart/form-dataLos tipo multipart/form-data pueden usarse cuando se envía el contenido completo de un formulario HTML desde un navegador al servidor.
application/jsonUna respuesta en formato JSON

Además del contenido del documento y el content-type, el servidor también agrega un código de respuesta al header o encabezado. Hay docenas de códigos de respuesta, pero estos son los más populares:

Códigos de Respuesta del Servidor

Código de respuestaDescripción
2xx Success200 OK, 201 Creado, 204 No Hay Contenido, 203 Información No Autorizada
3xx Redirection301 Movido Permanentemente, 307 Redireccionado Temporalmente, 304 No Modificado
4xx Client Error404 No Encontrado, 400 Mala Solicitud, 403 Prohibido, 401 Sin Autorización
5xx Server Error500 Error Interno del Servidor, 503 Servicio No Disponible

🔗 Aquí puedes encontrar información más detallada sobre Códigos de Respuesta del Servidor.

El Rol del Lenguaje Back-End

Lo bueno de un lenguaje de back-end es que se ejecuta en una máquina real (no en un navegador como el lenguaje de front-end). Con un lenguaje back-end puedes hacer cosas como:

  • Generar Documentos PDF, Word o Excel.
  • Conectarte a una o varias bases de datos al mismo tiempo y recuperar/procesar los datos.
  • Transmitir video y archivos de audio.
  • Abrir/crear/eliminar archivos locales de la máquina y actualizarlos con contenido nuevo.
  • Comprimir imágenes, videos o cualquier tipo de archivo.
  • Acceder a cualquier programa instalado en la máquina local y utilizarlo para tu sitio web (por ejemplo, puedes abrir un programa zip y extraer un archivo zip).
  • Interactuar con cualquier hardware conectado al servidor principal (como una máquina expendedora, un lector de huellas digitales, lentes de realidad virtual, un lector de tarjetas de crédito, etc.).
  • Puedes combinar cualquiera de las operaciones ya mencionadas en tu propio flujo de aplicación back-end.

Entonces... ¿qué hace un desarrollador Web Back-End?

Como desarrollador Back-End, deberás escribir todo el código para generar y/o responder a esos documentos estáticos y dinámicos según lo soliciten los clientes.

El código de un desarrollador web de back-end debe cumplir con 4 requisitos principales:

  • Recibir y procesar las solicitudes de los clientes: Entender lo que el cliente está solicitando, validar los datos ingresados (parámetros), rechazar posibles violaciones de seguridad.
  • Trabajar con la información: Obtener lo que necesites de la base de datos, actualizar lo que necesitas de la base de datos.
  • Desarrollar y ejecutar la parte lógica del negocio: Conectarte con aplicaciones de terceros, hardware externos y cualquier otra necesidad del negocio.
  • Responder al cliente: Preparar la respuesta en el formato adecuado y enviarla al cliente.