Conocer y comprender cómo se realizan las conexiones hacia los servidores a través de internet y sus implicaciones en el desarrollo de servidores

1

Bienvenida y presentación del curso

2

Qué es Node y cómo instalarlo

3

¿Qué son y cómo se usan las peticiones HTTP?

4

Métodos, cabeceras y estados

5

Cuerpo y query de la petición

Crear un servidor HTTP en Javascript, y comenzar a escuchar y responder peticiones desde un cliente .

6

Crear un servidor HTTP desde NodeJS

7

¿Cómo pueden venir las peticiones?

8

Recibir información desde el cliente: Body y Query

9

Información contextual: Leer las cabeceras

10

Tipos de respuesta: Vacía, plana, con datos y estructurada

11

Respuestas coherentes

12

Servir archivos estáticos

13

Errores: Cómo presentarlos e implicaciones en la seguridad

Comprender y desarrollar la arquitectura básica de un backend en NodeJS, y comunicarse entre módulos

14

Conceptualmente: Rutas, controladores y bases de datos

15

Rutas y capa de red: Responsabilidades y límites

16

Controladores: Definiendo la lógica de negocio

17

Almacenando la información en una base de datos

Utilizar una base de datos para definir, modelar, almacenar y recuperar la información de nuestra aplicación

18

Tipos de Bases de Datos: Relacionales y No Relacionales

19

Crear y Configurar tu Base de Datos con MongoDB

20

MongoDB: Almacenar y leer datos

21

MongoDB: Actualizar datos

22

MongoDB: Consultar datos

23

MongoDB: Eliminar Datos

24

Gestionar conexiones a la base de datos desde la API

Uso de entidades para crear aplicaciones escalables

25

Escalando la arquitectura: Múltiples entidades

26

Relacionando nuestras entidades

27

Cómo recibir ficheros desde NodeJS

28

Guardar el fichero en el servidor

Conocer el protocolo de websockets, e implementar comunicación cliente/servidor con SocketIO.

29

WebSockets: Qué son, por qué son interesantes y cómo usarlos

30

Manejo de Websockets con NodeJS

31

Conectar la API al servidor de WebSockets

Revisión de lo aprendido, y próximos pasos

32

Revisión y próximos pasos

33

Tips para escalar nuestro proyecto

Create an account or log in

Keep learning for free! Join and start boosting your career

Aprovecha el precio especial y haz tu profesión a prueba de IA

Antes: $249

Currency
$209
Suscríbete

Termina en:

0 Días
21 Hrs
11 Min
56 Seg

Métodos, cabeceras y estados

4/33
Resources

HTTP methods:

  • GET: Collect information from the server.
  • POST: Add information to the server.
  • PUT: Replace information on the server.
  • PATCH: Update part of the information.
  • DELETE: Delete information from the server.
  • OPTIONS: Ask for information about methods (to know if we can execute any of the previous methods).

The headers will be the sending to the server of how we want to make the request.

The states are numbers that indicate the state of the request:

  • 2XX: All went well.
  • 3XX: The request has been redirected.
  • 4XX: Client errors.
  • 5XX: There has been an error processing the request.

Contributions 72

Questions 3

Sort by:

Want to see more contributions, questions and answers from the community?

Sitios sugeridos que contienen informacion sobre los codigos de estado de peticion de HTTP:

Httpstatuse

Http.cat

GET: Recoger información del servidor.
Ejemplo: Información de un producto.
Listado de elementos(productos lista de chats)
ver una página traer un archivo css.

POST: Añadir información al servidor.
Ejemplo: Añadir un producto nuevo.
Enviar un formulario.
crear un nuevo chat.
PUT: Reemplazar información en el servidor.
Ejemplo: Cambiar el contenido de una página.
Reemplazar un producto por otro.
Editar un mensaje.

PATCH: Actualizar parte de la información.
Ejemplo:
Cambiar la foto de un usuario.
Modificar el precio de un producto.

DELETE: Eliminar información del servidor.
Ejemplo:
Eliminar un mensaje.
quitar un producto del carrito.

OPTIONS: Pedir información sobre métodos (saber si podemos ejecutar alguno de los métodos anteriores).
Ejemplo:
Saber si puedes ejecutar POST, PUT, PATCH o DELETE

  1. Metodos:
    -GET: recoger informacion del servidor:listas, traer archivos, css
    -POST: añadir informacion
    -PUT: reemplazar informacion: contenido de una pagina
    PATCH: cuando queremos modificar solo una parte de la informacion
    DELETE: eliminar informacion, productos del carrito por ejemplo.
    OPTIONS: pedir informacion sobre metodos.
    Saber si podemos ejecutar los anteriores

  2. Cabeceras:
    Nos dan informacion contextual de la petición: Como quiero hacerlo:

Request: Autenticacion,cache, indicaciones:
-Cookies: permiten compartir informacion entre peticiones, guardar info para mantener la sesion
-CORS: manejar informacion desde fuera de nuestro servidor, cuando consume informacion desde un lado externo
Access-Control-Allow-Origin, desde donde puedo consumir
-ACCEPT: Define el contenido que puede aceptar por ejem: codificacion UTF-8 archivos js
-Autenticacion: Para poder pedir cosas al servidor
-Cache: Almacenamiento temporal, gestionar durante cuanto tiempo la respuesta sera la misma, evita menos peticiones pues las almacena
-Estados: Numero que indica lo que paso con la peticion:
200: Ok
201-Crea
300- Redireccion de la peticion, por el recurso
400-40x Errores del cliente
500- Error interno del servidor

No cabe duda de que, Platzi, ha comprendido a su cliente (cursos individuales). Me encanta cuando te explican un tema a profundidad (resolver dudas).

Me encanta que explique estos conceptos tan importantes 😃

No conocía el método PACH y OPTIONS

Sin palabras, simplemente fue una gran clase.

Metodos: lo que se quiere realizar al servidor (
GET = cuando se quiere obtener infotrmacoins del servidor,
PUT = remplaza infoprcmacion en el servidor es decir actualizaciones,
DELETE = se elima informacion por completo,
POST = añadir infromacion al servidor ,
PATCH = Actualizacion por partes ,
OPTIONS = sirve pedir informacion de los metodos si se puedne ejecutar los metodos POST, PUT, PATCH o DELETE )

Cabeceras: informacion contextual de la peticion (no es lo que quiero hacer si no como lo quiero realizar)
-Request: el request púede ser POST, PUT, PATCH, Autentication, cache, condiciones, cors, cookies
-cookies = compartir informacion entre peticiones
-cors (cross Origin Resource Sharing) = compartir informacion afuera de nuestro servidor (Access-Control-Allow-Origin) 
-accept: esta solo indica que contino va a aceptar (Accept, Accept-Charset, Accept-Encoding)
- Autenticación: se asegura que puedes realizar una solicitud al servidor (Authorization).
- Cache  = gestiona por cuanto tiempo la respuesta sera la misma (Cache-Control, Expires)

Estados: indica con un numero lo que a pasado en la peticion.
	200: ok
	201: Created
	Las que empiecen con 3 la peticion se redirigido
	301: Moved permanently
	304: Nor Modified
	errores: del cliente
	400: bag request
	401: Unauthorized
	403: Forbidden
	404: nor found
	errores: del servidor
	500: ha habido algun problema interno

Dato curioso: Existe un código de error **“HTTP 418 Soy una tetera” **el cual indica que el servidor se rehúsa a preparar café porque es una tetera jajajaja.

Al parecer proviene de la creación de un protocolo de broma HTCPCP (Protocolo de Control de Cafeteras de Hipertexto) publicado el 1 de abril de 1998 en el día de los inocentes.

Mas info:

https://developer.mozilla.org/es/docs/Web/HTTP/Status/418
https://es.wikipedia.org/wiki/Hyper_Text_Coffee_Pot_Control_Protocol

HTTP es un protocolo con sesiones, pero sin estados, es decir que no guarda ningún dato entre dos peticiones en la mísma sesión.

Entonces para saber que dos peticiones tienen su origen en el mísmo navegador web de tal forma que nos permita mantener la sesión del usuario abierta se utilizan las cookie HTTP (cookie web o cookie de navegador).
Una cookie HTTP es una pequeña pieza de datos que un servidor envia a el navegador web del usuario. El navegador guarda estos datos y los envía de regreso junto con la nueva petición al mismo servidor.
Se utilizan principalmente para tres propósitos:

  1. Gestión de Sesiones: Inicios de sesión
  2. Personalización: Preferencias de usuario, temas y otras configuraciones.
  3. Rastreo: Guardar y analizar el comportamiento del usuario

Para el almacenamiento general del lado del cliente se recomienda utilizar APIs modernas como localStorage, sessionStorage e IndexedDB ya que las cookies se envian con cada solicitud al servidor y esto puede empeorar el rendimiento.

GET - > Obtener información.
POST -> Añadir información al servidor.
PUT -> Editar Información.
DELETE -> Borrar Información.
PATCH -> Actualizar cierta parte dela información.
OPTIONS -> Pedir información sobre los métodos.

En la request:

  • POST
  • PUT
  • PATCH
    Podemos tener:
  • Autenticación: Asegúrate de que puedes pedir cosas al servidor
    Authorization
  • Cache: Almacenamiento temporal. Gestionar durante cuanto tiempo la respuesta será la misma
    Cache-Control
    Expires
  • Indicaciones
  • Condiciones
  • Cors (Cross Origin Resource Sharing) : Manejar información desde fuera de nuestro servicio
    Access-Control-Allow-Origin
  • Cookies : Compartir información entre peticiones.
  • Accept: Define el contenido que acepta
    Accept
    Accept-Charset
    Accept-Encoding

Lo más interesante de todo es el tiempo implementado para explicar cada término

Aquí les dejo una explicación un poco más detallada de cómo se deben utilizar los códigos de estado.
https://adictec.com/codigos-de-estado-http/

Metodos

GET recoger informacion del servidor - PUT remplaza informacion en el servidor y para editarlo- DELETE eliminar completamente infomarcion del servidor- POST añadir informacion al servidor- PATCH cuando no queremos editar todo el producto- OPTIONS con este podemos pedir informacion de que metodos podemos hacer en la api

Cabezaras

Nos dan informacion contextual de la petición. No es lo que quiero hacer sino como puedo hacerlo.

Cookies => sirve para compartir informacion entre las peticiones.

CORS => Cross Origin Resource Sharing manejar informacion desde fuera de nuestro servicio.

Accept => define el contenido que se acepta.

Authorization => Asegurarse de que puedo pedir cosas al servidor.

Cache-Control o Expires => Gestionar dentro de cuanto tiempo la respuesta sera la misma.

Estado.

Es un número que indica lo que a pasado con la petición.

2xx => que todo a hido bien por ejemplo 200 ok, 201 created

3xx => es que me redirecciona a otra parte por ejemplo 301 moved permanetly

4xx => error. 400: bad request. 401: unauthorized. 403: Forbidden prohibido se quien eres pero no te puedo dejar pasar comisario. 404: Not found.

5xx => errores de servidor. 500: Internal server error.

No se si lo abran compartido antes pero una pagina muy buena para ver estados

https://http.cat/

Pregunta de examen:
¿Qué método HTTP se usaría para cambiar la foto de un usuario?

Una pregunta! ¿De qué cache habla en el minuto 5:20?¿La caché del servidor o del usuario?

Los estados que empiecen con:
2xx = Todo OK.
3xx = Sucedió una redirección.
4xx = Errores de cliente.
5xx = ocurió un problema interno en el servidor

Métodos

Es el verbo, la acción que le dice al server “lo que queremos hacer”

  • GET → Solicita información del servidor
    Información de productos
    Listado de elementos
    Ver pagina HTML o un archivo CSS o JS
  • POST → Añade información al server
    Añadir un producto nuevo
    Enviar un formulario
  • PUT→ Reemplazar información en el servidor
    Cambiar un producto por completo
    Cambiar el contenido de una pagina
    Editar un mensaje
  • PATCH → Actualiza parte de la información
    Cambiar la foto de usuario
    Modificar el precio de un producto
  • DELETE → Elimina información del servidor
    Eliminar un mensaje
    Quitar producto de carrito
  • OPTIONS → Pedir información sobre métodos (saber si podemos ejecutar alguno de los métodos anteriores)

una web con los estados HTTP con memes de gatos

Muy buen profesor! Explica de una forma didáctica y sencilla.

Excelente curso

Les comparto este archivo con un “cheat sheet” de los códigos HTTP
Archivo Códigos HTTP

METODOS:
*Get
*Put
*Delete
*Post
*Patch
*Options

-GET: recoger informacion

  • POST: añadir información al servidor.
  • PUT: reemplaza información en el servidor.
  • PATCH: cambia solo una parte de un objeto en el servidor.
  • DELETE: elimina información.
  • OPTIONS: pide información acerca de los métodos permitidos.

Cookies: Fichero de datos enviado a tu dispositivo (laptop,desktop, telefono, tablet), luego de llenado este fichero que es llenado (al momento de darle aceptar) es enviado al servidor. Entre los distintos usos de estas, esta recordar accesos y habitos de navegacion.

Cors: Utilizado para obtener permisos, para usar recursos seleccionados desde un servidor

ah caray mi profesore es benzema

Metodos:El que define a la petición la acción que queremos hacer
Get:Para retornar informacion del servidor
Post: Para agregar información nueva
Put: Para actualizar información
Patch: Para ediciones cortas
Delete: Para eliminar información
Options: saber si se puede ejecutar alguno de los métodos anteriores

A este punto ya se hizo el curso de prework y el curso anterior al de fundamentos de backend

Este tipo de clases siempre es bueno verlas para recordar o reforzar conocimientos en el tema

La notebook del profe es de una marca de computadoras creadas exclusivamente para usar con Linux !
Slimbook

Metodos, cabeceras y estado.

Metodos:

Es el verbo que dice “lo que queremos hacer” con el servidor.

  • GET: recoger información del servidor.

→ información de un producto

→ listado de elementos.

→ ver una pagina html o css

  • PUT: reemplazar información del servidor

→ reemplazar un producto

→ editar un mensaje.

  • DELETE: Eliminar información del servidor.

→eliminar un mensaje.

→eliminar un producto del carrito

  • POST: añadir informacion al servidor

→ añadir un producto

→ enviar un formulario.

  • PATCH: actualizar parte de la información.

→ cambiar la foto de un usuario

→ modificar el precio de un producto.

  • OPTIONS: pedir informacion sobre los métodos.

→saber si puedes ejecutar POST PUT PATCH O DELETE

Cabeceras

Informacion contextual de la petición.

Es como quiero hacerlo, por ejemplo cabecera:

  • autenticacion, asegura de que puedes pedir cosas al servidor

→authorization

  • cache, almacenamiento temporal, gestionar durante cuanto tiempo la respuesta es la misma.

→cache-Control, expires

  • indiaciones
  • condiciones
  • cors: cross origin resource sharing, manejar informacion desde nuestro servicio

→Access-Control-Allow, Origin

  • cookes: compartir informacion entre peticiones

→cookie

  • accept: define el contenido que acepta.

→accept, accept-charset, accept-encoding

Estado:

Son los numeros que indica que a pasado con la peticion.

Codigos 2XX

Todo a ido bien

  • 200: OK
  • 201: Created

Codigos 3XX

El recurso se a redirigido

  • 301: Moved permanently
  • 304: Not modified

Codigo 4XX

Errores del cliente.

  • 400: bad request
  • 401: unauthorized
  • 403: forbidden
  • 404: Not found

Codigos 5XX

Ha habido un error al procesar la petición, error de servidor

  • 500: Internal server error

Muy clara la clase

Excelente resumen introductorio de APIs

básicamente esos verbos son parecidos a los de postman

Que bien volver a ver sobre JWT…
Espero ampliar el conocimiento acerca de ellos

Cabeceras: Como quiero hacer la petición. Aprendí que las cookies son cabeceras

que excelente clase

¡Qué buena explicación!

Grupo de Whatsapp sobre temas relacionados a JS: https://chat.whatsapp.com/LsR1Zt77zIV2bUw30fMQ3M

excelente!

Excelente curso

Muy buena explicacion es muy sencillo y practico

pinta excelente este curso 😃 no como el de spring del cual vengo.

Métodos: Petición al servidor de lo que queremos hacer.

GET -	> 	Obtener información.
POST 	->	 Añadir información al servidor.
PUT 	->	 Editar Información.
DELETE 	->	 Borrar Información.
PATCH	->	Actualizar cierta parte de la información.
OPTIONS ->	Pedir información sobre los métodos.

BUENA EXPLICACIÓN NODE.JS

Básico para entender como funciona todo!

Muy bueno

con los CORS puedeo bloquear el web scraping?

Wow, muy buen clase!!

A pesar de ser conceptos conocidos es muy valiosa esta clase, siempre había sabido que los métodos PUT Y PATCH eran para editar información pero no sabia de la diferencias entre ambos, tampoco conocía la utilidad del método OPTIONS. Todo lo demás excelente también.

Que buena clase y bien resumido todo!

Vamo’alla 😄

HTTP tinene estas opciones:
GET
HEAD
POST
PUT
DELETE
TRACE
OPTIONS
CONNECT
PATCH
SEARCH
COPY
LOCK
UNLOCK
MOVE
MKCOL
PROPFIND
PROPPATCH
MERGE
UPDATE
LABEL

Cors
Cross Origin Resource Sharing

Estados:
2XX: Todo ha ido bien.
3XX: La petición se ha redirigido.
4XX: Errores del cliente.
5XX: Ha habido un error al procesar la petición.

los estados de las peticiones!

cabecera: no es lo que quiero hacer sino como lo quiero hacer

Super chevere esta clase.

Excelente contenido

<h1>Métodos, cabeceras y estados</h1> <h3>Métodos HTTP:</h3>

Es el verbo que dice lo que queremos hacer al servidor.

  • GET: Recoger información del servidor.(datos, listas, páginas)
  • POST: Añadir información al servidor. (añadir un elemento, agregar un formulario, crear un chat)
  • PUT: Reemplazar información en el servidor. (reemplazar/editar información del servidor)
  • PATCH: Actualizar parte de la información.
  • DELETE: Eliminar información del servidor.
  • OPTIONS: Pedir información sobre métodos (saber si podemos ejecutar alguno de los métodos anteriores).
<h3>Las cabeceras:</h3>

Nos darán información contextual de la petición, el cómo quiero hacerlo.

  • autenticación (asegurarte de que puedes pedir cosas al servidor)
  • cache (almacenamiento temporal, durante cuanto tiempo la respuesta será la misma)
  • indicaciones
  • condiciones
  • cors //cross origin resource sharing// (compartir recursos entre diferentes origenes, si podemos ó no manejar información desde otro servidor)
  • cookies (comparte información entre peticiones, por ejemplo soy tal usuario)
  • accept (tipo de contenido que acepta el servidor)
<h3>Los estados</h3>

son números que indica el estado de la petición:

  • 2XX: Todo ha ido bien.
  • 3XX: La petición se ha redirigido.
  • 4XX: Errores del cliente.
  • 5XX: Ha habido un error al procesar la petición. (servidor)

GET sirve para obtener.
POST sirve para añadir (crear o insertar).
PUT sirve para reemplazar o actualizar información.
PATCH sirve para actualizar una parte de información. Como un parche.
DELETE sirve para eliminar información en el servidor.
OPTIONS sirve para pedir información sobre los métodos POST, PUT, PATCH o DELETE.

Excelente clase y excelente explicacion de parte del profesor!

GET: Obtener o Recoger Información.
POST: Añadir información.
PUT: Reemplazar Información en el Servidor.
PATCH: Actualizar parte de la información.
DELETE: Eliminar Información del Servidor.
OPTIONS: PEDIR Información sobre los Métodos.

la explicacion de profesor estuvo fue muy clara y muy bien explicada

<h3>Métodos, cabeceras y estados</h3> <h4>Métodos</h4>

GET - Recoger información del servidor

  • Información de un producto
  • Listado de elementos
  • Ver un página HTML o un archivo CSS

POST - Anadir información al servidor

  • Añadir un producto
  • Enviar un formulario
  • Crear un nuevo chat

PUT - Reemplazar información en el servidor

  • Cambiar el contenido de una página
  • Reemplazar un producto por otro
  • Editar un mensaje

PATCH - Actualizar parte de la información

  • Cambiar la foto de un usuario
  • Modificar el precio de un producto

DELETE - Eliminar información del servidor

  • Eliminar un mensaje
  • Quitar un producto del carrito

OPTIONS - Pedir información sobre los métodos

  • Saber si puedes ejecutar POST, PUT, PATCH o DELETE
<h4>Cabeceras</h4>

Información contextual de la petición. "No es el que quiero hacer, sino cómo lo quiero hacer"

Request - POST PUT PATCH

  • Autenticación - Asegurarte de que puedes pedir cosas al servidor
  • Cache Almacenamiento temporal - Gestionar durante cuánto tiempo la respuesta será la misma
  • Cors “Cross Origin Resource Sharing” - Manejar información desde fuera de nuestro servicio
  • Cookies - Compartir información entre peticiones
  • Accept - Define el contenido que acepta
  • etc
<h4>Estados</h4>

Números que indican lo que ha pasado con la petición

Todo ha ido bien 2XX

  • 200: Ok
  • 201: Created

La petición se ha redirigido 3XX

  • 301 Moved permanently
  • 304 Not modified

Errores del cliente 4XX

  • 400 Bad request
  • 401 Unauthorized
  • 403 Forbidden
  • 404 Not Found

Errores del servidor, ha habido un error al procesar la petición 5XX

  • 500 Internal server error

Súper interesante, no sabia nada de los números, un tema interesante, mi pregunta es si nosotros programaos esos números o eso va programado internamente a la hora de subir o crear sitios y que generen este tipo de errores?