Primero comencemos denominando las partes principales del desarrollo web, el FrontEnd y el BackEnd

FrontEnd

El front-end se lo puede denominar como la parte visual o con la que el usuario va a interactuar, este tiene tecnologías como lo son: HTML (Un lenguaje de marcado que permite la estructuración "esquelética" de la página), CSS (Lenguaje de estilos) y JavaScript (Lenguaje de programación, el que implica la lógica de interacción). Entre estas tecnologías tenemos frameworks y librerías

BackEnd

Se trata de la parte con la que el usuario no interactúa, aquel que funciona como motor para el funcionamiento de gran parte de la aplicación. El backend que se puede implementar con diversos lenguajes (con su respectivo framework) como pueden ser: Go, Rust, Python (con Django, Flask o FastApi), JavaScript (con Node.js), Ruby (RubyonRails), Java (Sping), PHP(con Laravel), etc

Framework VS Librería

API

La unión entre el FrontEnd y el BackEnd se hace a través de una API: Aplication programming interface. Se trata de una sección del BackEnd que permite la conexión con el FrontEnd a través de mensajes bidireccionales. Existen dos protocolos de API: -- SOAP (Simple Object Access Protocol): Mueve los mensajes a través del uso de XML, similar a HTML también es un lenguaje de marcado, este protocolo ha quedado deprecado -- Rest (Representational State Transfer): Utiliza JSON. JSON es un lenguaje de por sí y este a su vez es idéntico a un diccionario de Python

HTTP

HTTP (Hypertext Transfer Protocol) Primero veamos dos definiciones, cliente y servidor, en internet siempre hay dos partes que se conectan. Un cliente es aquel modem que se conecta, tal como cualquiera de tus dispositivos (Celular, computadora, lavarropas) y por su parte un servidor es una computadora prendida las 24 horas que distribuye el servicio al que uno está buscando acceder.

Cada vez que existe esta transferencia de información existe una petición y una respuesta o Request and response. Estas peticiones se hacen a través de una transferencia por protocolo HTTP La request va a tener como objetivo generar la conexión, esta la hace a través de sus headers para luego en el response obtener el resultado de dicha conexión o la respuesta, este contiene un body el cual es puede ser tanto el body de una página como los datos que regresan de una API. Además también está el Status code el cual permite conocer cómo salió esta respuesta, dichos códigos te permiten saber si todo salió bien o si hubo problemas al obtener la misma

El servidor envía el HTML, CSS y JavaScript a un cliente para que el mismo mediante el navegador pueda interpretar la página. Este cliente a su vez envía una request HTTP para que mediante la API este le devuelva un JSON

Servidor

API