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

Cuerpo y query de la petición

5/33
Recursos
Transcripción

El cuerpo de la petición es la información en sí que queremos enviar, editar o que el servidor nos devuelva.

Las queries van a permitirte añadir información extra a los datos que queramos enviarle al servidor.

Aportes 66

Preguntas 3

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

De verdad que buen profesor, como saber si tienes mas cursos?

estupenda explicación, Srs de platzi, ojala fuesen así todos lo que contratan para las clases

Los que estan haciendo la carrera de Backend con JavaScript, se han dado cuenta que este es el mejor curso introductorio a NodeJS ? mejor que el Essentials y el basico

éste curso, debe de estar entre los básicos (sí o sí). Gracias. Junto con el nuevo de NPM (Óscar).

CUERPO Y QUERY DE LA PETICION:
CUERPO:
Informacion de la peticion. Los datos del usuario que queremos añadir o enviar al servidor o lo que pedimos. Si me mandan el url del usuario
Que tiene y como viene?
CONTENT-TYPE:
Que formatos: Depende de las cabeceras: Ej. -> text/html, text/css, application/json (el archivo js para que el navegador lo ejecute) image/jpeg

REQUEST: Es la peticion al servidor
Ej. POST: usuario sin id, GET a platzi.com
RESPONSE: Cualquier metodo que recibimos del servidor, ejm: content-type: application/json, viene este archivo con el id traido del servidor., trae un html de index.html de platzi

QUERY:
Informacion extra. Orden en el que quiero que vuelvan los parametros. Por ejemplo cuando le pasamos un id
api.com/person?orderBy=name&age=25
Para compartir datos con el frontend, nunca debe enviarse info sensible como tokens o tarjetas de creditos visibles en los parametros del query para la url
Ej. miweb.com?color=red

ESTRUCTURA:

Añadir ? al final de la URL
nombre=valor, ejemplo id=3
Separarlos con & si es más de 1 parámetro

Me agrada mucho la forma de explicar espero que en la medida que se profundice sea igual de eficiente! gracias!

Más cursos de nodejs con este profesor , porfavor Platzi 😃

Las explicaciones han sigo geniales hasta ahora 😄 que sigan así

<h3>El cuerpo de la petición</h3>

Es la información en sí que queremos enviar, editar o que el servidor nos devuelva.

  • Los datos del usuario que quieras añadir

El qué contenga y como venga va a depender de las cabeceras.

  • Content-Type: Tipo de contenido
  • Content-Length: Que tan largo es el contenido
  • Los datos en crudo, pueden venir en dos formatos, JSON, o XML.
    JSON, tiene un formato muy parecido a los objetos en JavaScript
<h3>Las Queries - Las Consultas</h3>

Van a permitirte añadir información extra a los datos que queramos enviarle al servidor. O solicitar.

  • Orden en el que queramos que se devuelvan los datos.
  • Parámetros que queremos medir.
  • api,com/person**?orderBy=name&age=25**
    Acá lo que hacemos es solicitar las personas de una API pero le estamos añadiendo que se ordene por nombre y que solo nos traiga las personas cuya edad sea 25 años.

profes como este me hacen pensar que platzi debería incluir un botón de “me gusta” a sus videos…😁😁😁

Las cabeceras:
Content-Type: Tipo de contenido
Content-Length: Que tan largo es el contenido

Los datos en crudo, pueden venir en dos formatos, JSON, o XML. JSON, tiene un formato muy parecido a los objetos en JavaScript

No debemos enviar informacion sencible en los parametros del query
Estructura de una querey, luego de la url va ? nombre=valor, cada queryy se separa por &.

Las explicaciones son simples y con ejemplos de la vida real. Palabras fáciles de entender con poco tecnicismo o ese ingles mezclado con español.
Es realmente fácil de entender los conceptos, ojala todos fueran así

Les dejo la documentación de Node.js esperando pueda servirles
https://nodejs.org/dist/latest-v10.x/docs/api/

------------------------------ RESUMEN DE LA CLASE----------------------------------

CLASE 5: Cuerpo y query de la petición
El cuerpo de la petición es la información en sí que queremos enviar, editar o que el servidor nos devuelva. Los datos del usuario que quieres añadir. El servidor envía una respuesta.
¿qué tiene y cómo viene? Depende de las cabeceras:
Content-Type nos dirá el tipo de contenido que tiene.
POSIBLES CONTENT-TYPE:
 text/html
 text/css
 application/javascript
 image/jpeg
 application/json
 application/xml

En la request. [POST] http://api.com/user
Content-type: application/json
REQUEST: Es la peticion al servidor
Ej. POST: usuario sin id, GET a platzi.com
RESPONSE: Cualquier metodo que recibimos del servidor, ejm: content-type: application/json, viene este archivo con el id traido del servidor., trae un html de index.html de platzi
QUERY:
Informacion extra. Orden en el que quiero que vuelvan los parametros. Por ejemplo cuando le pasamos un id
api.com/person?orderBy=name&age=25
Para compartir datos con el frontend, nunca debe enviarse info sensible como tokens o tarjetas de creditos visibles en los parametros del query para la url
Ej. miweb.com?color=red
ESTRUCTURA:
Añadir “?” al final de la URL
nombre=valor, ejemplo id=3
Separarlos con & si es más de 1 parámetro
Content-Length nos dirá que tan largo es el contenido. Los datos en crudo, pueden venir en dos formatos, JSON, o XML. JSON, tiene un formato muy parecido a los objetos en JavaScript, No debemos enviar información sensible en los parámetros del query
Estructura de una querey, luego de la url va ? nombre=valor, cada queryy se separa por &.
Las queries van a permitirte añadir información extra a los datos que queramos enviarle al servidor.

por si a alguno le dio curiosidad 😂 https://www.youtube.com/watch?v=ZKFwQFBwQFU

Junto a Julian Duque uno de los mejores profesores de Node

me he quedado asombrado por como lleva el curso gracias Carlos

Hay que tener en cuenta que todo QueryParam debe tener un uso controlado y validado.

[DELETE]
http://myapi/v1/users?deleteById='UNPARAMETROSINVALIDAR'

Esto podría ser un problema de seguridad, exponiendo nuestra aplicación a un ataque de SQLInjection, eso se evita con medidas de encode en nuestro parámetro, evitando una interpretación diferente a la esperada, por nuestro Motor de Base de Datos. Otra medida dependiendo del caso, es validar nuestro parámetro antes de una ejecución, pasando el parámetro por un Regex antes de su ejecución.

Es muy interesante. Sólo echo de menos que no vayamos haciendo prácticas de lo que se va explicando.

Muy bueno curso, de los mejores que he encontrado!!

Excelente Clase!!

Body(cuerpo): donde se envia y recibe la informacion que queremos enviar/recibir del/al servidor(resultado de peticiones)

BODY depende de la cabecera
content-type - tipo (text/html - text/css - application/javascript) -> dependiendo del tipo hara algo especifico con el.

Query -> informacion extra en la peticion
*especificar objeto al que queremos ingresar
*compartir informacion con el front/back
ESTRUCTURA -> ‘? NOMBRE = VALOR’

Bueno, here we go… el backend es una de las cosas que más me emocionan aprender porque aún es un mundo obscuro para mí 😄
Espero aprender más!!! 😄

las querys ayudan a compartir informacion con el frontend pero hay que ser cuidadoso

Ejemplos:

Query String:

yyyy.test?id=123&nombre=ekis

Parameters:

yyyy.test/123/ekis

Las peticiones GET aceptan un maximo de 2048 caracteres. Y las peticiones POST por defecto aceptan 2MB.

Platzi tiene muy buenos maestros, he visto cursos de C#, de JS con otros profesores, de Java, y puedo decir que Carlos es uno de los mejores (si no es que el mejor) de platzi

Entendible la clase Don Carlos.

Pregunta de examen:
¿Cómo sabemos qué tipo de contenido hay en el cuerpo de una petición HTTP?

Muy buen clase!

Un excelente profesor, que el Profesor Carlos Hernanez enseñe Fundamentos de MongoDb

El ejemplo de la Query de YouTube lleva al un video de las 50 mejores piezas de Strauss: /watch?v=ZKFwQFBwQFU
Además de ser un curso genial tienen ese gran detalle!!..

Muy clara la explicación del profesor!

exelente!!

Las queries que realicemos en una url deben contener name=value y el indicador ampersand (?) los separa en la dirección URL

No sabía que el rey de Esparta era tan buen profesor. Ojalá saqué muchos más cursos.

  • El cuerpo de la información “body” es donde se pide o recibe la informacion que estamos usando, como los datos de un usuario.

  • Como nos viene la informacion depende de la cabecera content-type. ejemplo: text/html text/css application/javascript image/jpeg application/json application/xml

  • Las querys en una peticion HTML me permite añadir información extra a lo que queramos enviarle al servidor. por ejemplo el orden de lo parámetros que vuelvan.

Está cool

Excelente explicación!!

Muy buena explicacion acerca de la estructura , me gusto mucho esta clase

Buen video, se explica muy bien 😃

muy buena explicación!!!

buenisima explicacion! la mejor que vi hasta el momento!

Buena explicación aunque ya tenga experiencia en el tema practico, siempre te falta algo de teoría.

Mas sencillo no puede haber.Excelente.

Buen curso

Forma de compartir datos entre cliente - servidor, servidor - cliente

docentes así se necesitan!!!

Content-Type

Compartir datos con el fronted.

Muy buena explicación sobre las peticiones HTTP!!

Body: va la información.
Query: añade opciones adicionales en la url del request.

Genial!! con ganas de aprender node e involucrarme en el mundo backend

<h1>Cuerpo y query de la petición</h1> <h3>El cuerpo de la petición (body)</h3>

Es la información en sí que queremos enviar(datos de usuario por ej), editar o que el servidor nos devuelva.

¿Qué y cómo viene?

Depende de las cabeceras:

  • Content-Type (tipo de contenido que tiene)

ej:

text/html

text/css

application/javascript

image/jpeg

application/json

application/xml

  • Content-Length (cómo de largo es el contenido)
<h3>En la request</h3>

Ejemplo de una petición POST para crear un usuario:

POST: http://api.com/user

Content-Type: application/json

{

“name”: “Carlos”,

“username”: “CodingCarlos”

}

<h3>En la response</h3>

Puede venir en cualquier método

Un archivo html, css y js…

Los datos de un producto

POST: http://api.com/user

Content-Type: application/json

{

“id”: “4asda5s54f4”,

“name”: “Carlos”,

“username”: “CodingCarlos”

}

<h3>Petición GET</h3>

http://platzi.com

Content-Type: text/html

<html>

<head>…</head>

<body>…</body>

</html>

<h1>Las queries</h1>

Van a permitirte añadir información extra a los datos que queramos enviarle al servidor.

  • Orden en el que quieres que se devuelvan los datos
  • Parámetros que quieres medir

¿Qué es?

Una forma de compartir datos con el frontend

Ojo, el usuario lo verá, así que con cuidado lo que compartes.

<h3>Estructura</h3>
  • Añadir ? al final de la URL
  • nombre=valor
  • separarlos con &

Excelente profesor, de verdad.

Content-Type dice exactamente el tipo de contenido que se tiene en el cuerpo de la petición.
Content-Length especifica el tamaño del contenido.

La cabecera Content-Type se aplica tanto a las solicitudes como a las respuestas?

Nunca pense que con el profesor entendería fácilmente NODEJS

Excelente explicación del profesor hasta el momento… este era un tema que se me había hecho difícil anteriormente pero con la esta explicación se me han despejado bastante las dudas. Muchas gracias!!

Una explicación bastante clara.

Un genio el profe

Muy bueno, Gracias!!!

Muy buen titulo del curso: BACKEND con node