Introducción a las APIs y Protocolos de Red


PREGUNTA 1: Protocolos de Red

Definición de Protocolos

TCP (Transmission Control Protocol): Garantiza la transmisión confiable y ordenada de datos entre dispositivos en una red. Divide los datos en paquetes, reensamblándolos en el destino para evitar pérdidas o desorden.

IP (Internet Protocol): Protocolo principal para enviar y recibir datos en Internet. Proporciona direccionamiento y enrutamiento.

FTP (File Transfer Protocol): Protocolo de red para transferir archivos entre un cliente y un servidor en una red TCP/IP, como Internet.

HTTP (Hypertext Transfer Protocol): Protocolo de aplicación para transferir información en la World Wide Web. Facilita la comunicación entre clientes y servidores web, permitiendo la solicitud y entrega de recursos como páginas web, imágenes y archivos.

PREGUNTA 2: APIs y Métodos REST

Definición de API

Una API (Application Programming Interface) conecta un cliente con un servidor, actuando como intermediario entre usuarios/clientes y recursos/servicios web. Permite a las empresas compartir recursos e información de forma segura y controlada.

Métodos Principales en una API REST

Las APIs REST utilizan el protocolo HTTP y los siguientes métodos:

  • GET: Obtiene un recurso.
  • POST: Crea un nuevo recurso.
  • PUT: Edita o crea un recurso. Si el recurso existe, se edita; de lo contrario, se crea.
  • DELETE: Elimina un recurso.

PREGUNTA 3: Comparativa entre API REST y SOAP

API REST

  • Utiliza HTTP o HTTPS como protocolo de comunicación.
  • Suele usar el formato JSON.
  • Sin estado por diseño.
  • Utiliza métodos HTTP estándar (GET, POST, DELETE, etc.).
  • Tiende a ser más rápido y eficiente en operaciones simples.

API SOAP

  • Utiliza el protocolo SOAP (sobre HTTP).
  • Formato de mensajes en XML.
  • El estado depende de la implementación, pero puede ser con o sin estado.
  • Las operaciones se definen por el estándar SOAP.
  • Puede ser más lento debido a la sobrecarga de protocolos.

PREGUNTA 4: Modelo Cliente/Servidor

Ventajas

  • Clientes ligeros que no requieren hardware potente.
  • Integración entre sistemas que comparten información.
  • Desarrollo y mantenimiento relativamente sencillos.

Desventajas

  • Necesidad de controlar todos los errores posibles del sistema.
  • Importancia de la seguridad del sistema. Si el servidor falla, el servicio se interrumpe para todos los clientes.
  • Necesidad de garantizar la consistencia de la información transmitida.

Dejar un Comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *