package.json: contiene metadatos del proyecto y gestiona las dependencias, scripts, y configuraciones necesarias para que la aplicación funcione correctamente.
Cómo crear un package.json:
npm init -y
pnpm init
Cómo instalar dependencias:
pnpm install
pnpm add express
pnpm add -D nodemon
JSON: JavaScript Object Notation
Es un formato liviano para intercambios de datos.
Independiente de otros lenguajes.
Fácil de leer y escribir.
Está escrito en base a pares de nombres y valores.
Todos los lenguajes modernos soportan JSON.
{
"userId": 1,
"id": 1,
"title": "Backend es fácil",
"body": "La mayoría de los alumnos le teme al backend pero es sencillo"
}
File System
Módulo nativo que permite interactuar con el sistema de archivos del equipo
Permite leer, escribir, modificar, eliminar archivos y directorios.
En su mayoría de métodos te ofrecen la versión síncrona y asíncrona
Sincrónicas:fs.readFileSync, fs.writeFileSync, etc.
const data = fs.readFileSync('archivo.txt', 'utf8');
console.log(data);
Servidores
Es un software o hardware que responde a las solicitudes realizadas por los clientes web y les envía las respuestas correspondientes.
Arquitectura Cliente-Servidor
La arquitectura cliente-servidor es un modelo de comunicación en el que los clientes solicitan recursos o servicios a un servidor, y este último los proporciona en respuesta a esas solicitudes.
Protocolos HTTP y HTTPS
HTTP: es el protocolo subyacente de la web y define las reglas para la comunicación entre los clientes y los servidores web.
HTTPS: proporciona una capa adicional de seguridad al encriptar los datos transmitidos, lo que ayuda a proteger la privacidad y la integridad de la información.
API
API: Application Programming Interface (interfaz de programación de aplicaciones)
Reglas y protocolos para la comunicación y la interacción entre diferentes aplicaciones de software.
RESTful
REST es un estilo de arquitectura para manejar los estándares de comunicación en la web.
Los sistemas que usan REST son denominados RESTful.
Endpoint
Son los puntos de entrada que le damos a nuestro sistema.
Los endpoints son los que le permiten a un sistema externo interactuar con nuestras APIs.
El request y response pasan a través de nuestro endpoint hacia la API.
Los endpoints nos permiten darle seguridad a nuestra API.
Podemos exigir un cierto tipo de payload para su funcionamiento.
Códigos de respuesta HTTP
Los códigos se agrupan por su primer dígito:
1xx: Informativos (ej. 100 Continue)
2xx: Éxito (ej. 200 OK)
3xx: Redirecciones (ej. 301 Moved Permanently)
4xx: Errores del cliente (ej. 404 Not Found)
5xx: Errores del servidor (ej. 500 Internal Server Error)
Códigos de estado HTTP comunes
Código
Nombre estándar
Descripción breve
200
OK
La solicitud fue exitosa.
201
Created
Recurso creado exitosamente (común en peticiones POST).
204
No Content
Solicitud exitosa, pero sin contenido que devolver.
301
Moved Permanently
Redirección permanente.
302
Found (o Moved Temporarily)
Redirección temporal.
304
Not Modified
El recurso no ha cambiado (usado en cachés).
400
Bad Request
La solicitud tiene un formato incorrecto.
401
Unauthorized
No autorizado (requiere autenticación).
403
Forbidden
Acceso denegado aunque esté autenticado.
404
Not Found
El recurso solicitado no existe.
405
Method Not Allowed
El método HTTP usado no está permitido para ese recurso.
500
Internal Server Error
Error general del servidor.
502
Bad Gateway
El servidor recibió una respuesta inválida de otro servidor.