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.