# data[].attributes.body
Intercambio de recursos de Origen Cruzado es una caracteristica de seguridad del navegador que utiliza cabeceras HTTP para permitir obtener permisos para acceder a recursos seleccionados desde el servidor, desde un origen(suma de protocolo, dominio y puerto) distinto al que pertenece.
Es decir este verifica o comprueba que sea el mismo protocolo, dominio y puerto de no ser iguales CORS entra a proteger contra peticiones de sitios maliciosos.

# data[].attributes.headline
¿Cuáles son los Códigos de respuesta de un servidor HTTP?

# data[].attributes.subject
¿Cuáles son los Códigos de respuesta de un servidor HTTP?

# data[].attributes.headline
¿Cuáles Propiedades son de la cabecera HTTP?

# data[].attributes.subject
¿Cuáles Propiedades son de la cabecera HTTP?

# data[].attributes.body
Permiten al cliente y al servidor enviar información adicional junto a una petición o respuesta.
Una cabecera de petición esta compuesta por su nombre (no sensible a las mayusculas) seguido de dos puntos ':', y a continuación su valor (sin saltos de línea).

Accept | La proporciona el solicitante y se utiliza en la negociación de contenido para determinar el formato de la respuesta.

Accept-Language | Proporciona los datos en el idioma solicitado. Esta propiedad sólo se aplica a campos de aplicación que dan soporte a múltiples idiomas. Los valores que se proporcionan (como EN o FR) deben estar soportados por la aplicación.El parámetro de consulta _lang puede proporcionar el código de idioma y la misma prestación que la propiedad de cabecera

Accept-Language.El parámetro de consulta _locale habilita que los números y las fechas se devuelvan en el entorno local del solicitante.

Cache-Control | Notifica al solicitante si está habilitado el almacenamiento en memoria caché.Si está habilitado, la propiedad Cache-Control tiene el valor private para asegurar que sólo el usuario actual puede reutilizar el contenido en la memoria caché.Cuando no está habilitado el almacenamiento en memoria caché, la propiedad Cache-Control tiene el valor no-cache.La solicitud del cliente puede contener la cabecera Cache-Control: no-cache para inhabilitar el almacenamiento en memoria caché para una solicitud específica, aunque esté habilitado para el recurso.

Content-Length | Contiene la longitud de la respuesta.

Content-Type | Notifica al solicitante del formato de la representación que se envía. Por ejemplo, puede especificarse el valor application/xml (para formato de respuesta XML) o application/json (para formato de respuesta JSON).

ETag | Si el almacenamiento en memoria caché está habilitado, contiene el valor Etag para el recurso que se solicita. La memoria caché del navegador del solicitante conserva el valor para futuras solicitudes para el mismo recurso.

If-None-Match | Si el almacenamiento en memoria caché está habilitado, contiene el valor Etag para el recurso que se ha solicitado anteriormente, de forma que la API pueda determinar si el contenido de la memoria caché puede volver a utilizarse.

Last-Modified | Notifica al solicitante la fecha y hora en las que el recurso se ha modificado por última vez.

Location | Contiene el enlace a un recurso (código HTTP 201) creado por un HTTP POST.

_rlid | Contiene el ID de la colección de recursos y se utiliza para desplazamiento dentro de la sesión.

# data[].attributes.headline
¿Que son las Representaciones soportadas JSON, xml?

# data[].attributes.subject
¿Que son las Representaciones soportadas JSON, xml?

# data[].attributes.body
Representación de datos soportadas por la API de REST.

# data[].attributes.headline
¿Que es Infraestructura de una API REST?

# data[].attributes.subject
¿Que es Infraestructura de una API REST?

# data[].attributes.body
Maneja las solicitudes de los clientes externos.
Dirige una solicitud hecha por un consumidor al manejador de recuersos adecuado.El manejador de recursos interactúa con los recursos para ejecutar la solicitud. Cuando se completa la solicitud, el serializador de recursos procesa el recurso o la colección de recursos. El serializador de recursos devuelve la representación como respuesta del recurso. Se proporcionan serializadores para XML y JSON.
Pude utilizar la autenticación,  la autorización y las propiedades del sistema de motor de automatización de procesos.

REST (Representational Satate Transfer) es un conjunto de reglas o limites de arquitectura de desarrollo web.

# data[].attributes.body
HTTP  (Hypertext Transfer Protocol) y HTTPS son iguales pero añadiéndole "Seguro". Estos dos protocolos se usan para lo mismo, la transferencia de datos.

La diferencia básica entre ambos es la forma en la que viajan los datos. Si los datos son transferidos mediante HTTP, estos viajan en claro y son accesibles para cualquiera que intercepte la comunicación. En cambio, el protocolo HTTPS usa una conexión segura mediante un cifrado SSL y por tanto los datos viajan de un modo seguro de un lugar a otro.

# data[].attributes.headline
Explica ¿cuál es la arquitectura modelo vista-controlador?

# data[].attributes.subject
Explica ¿cuál es la arquitectura modelo vista-controlador?

# data[].attributes.body
MVC (Model view controller)
Es un patron de diseño de software, es decir una plantilla para resolver un problema, que puede ser utilizado en diferentes situaciones.
Puede ser utilizado con diferentes frameworks.
Separación de responsabilidades:

Model:Almacenar y administrar datos (base de datos)

View: Interfaz grafica (Interacción con el usuario)

Controller:Conecta el modelo y la vista según sea necesario, traduce lo que ingresa el usuario, interpreta que hacer y devuelve la información desde el modelo.

# data[].attributes.headline
¿Qué es y como usar un ORM? (Object Relational Mapping)

# data[].attributes.subject
¿Qué es y como usar un ORM? (Object Relational Mapping)

# data[].attributes.body
Es un modelo de programación que permite mapear las estructuras de una base de datos relacional (SQL Server, Oracle, MySQL, etc.)
Permite la interacción con la base de datos usando la programación orientada a objetos, usando clases, metodos y atributos, permitiendo obtener, modificar, eliminar y procesar registros, tablas o bases de datos. Esto evitando el manejo de consultas SQL, por ejemplo para evitarnos lo siguiente:

SELECT id, username, email
FROM users
WHERE id = 101;

Podemos hacerlo así:
User.where(id:101)
.select(:id, :username, :email)

Claro que todo varia de acuerdo al ORM que estemos utilizando.
Por ejemplo para noed.js se llama Sequelize, que nos permite manejar bases de datos mysql, sqlite,postgres,mssql.

# data[].attributes.body
Es un framework backend para node.js, diseñado para construir aplicaciones web escalables.
Proporciona un conjunto de herramientas para peticiones y respuestas HTTP, enrutamiento y middleware para construir y desplegar

# data[].attributes.headline
Explique con sus propias palabras ¿qué es un framework en programación?

# data[].attributes.subject
Explique con sus propias palabras ¿qué es un framework en programación?

# data[].attributes.body
Un framework es un marco de trabajo que facilita tareas, com o puede ser la organización de código, evita tenre que escribir códdigo de manera repetitiva.

# data[].attributes.body
Es un entorno de ejecución de JavaScript orientado a eventos asincronos. Por cada conexión, se activa la devolución de la llamada o callback.
Un entorno de ejecución es todo lo que se tiene disponible externo a la aplicación como manejador de paquetes, los paquetes mismos, sistema de archivos, conexión a la red, variables de entorno, entre otros.

# data[].attributes.body
Es uno de los principales usados en muchísimos servicios y protocolos de Internet.
Es una red de comunicaciones donde los clientes estan conectados a un sevidor, en el que se centralizan diversos recursos y aplicaciones con que se cuenta y que los pone a disposición de los clientes cada vez que estos son solicitados.
El servidor es una maquina con hardware y software que actua de deposito de datos y funciona como un sistema gestor de base de datos o aplicaciones.
El cliente suele ser el navegador al que se le abre el archivo

# data[].attributes.body
Es la parte que nos permite acceder a la información, combinarla y devolverla al usuario final.