Rest es una forma de crear servicios pero evitando el uso del protocolo Soap.
"en la actualidad se usa en el sentido más amplio para describir cualquier interfaz web simple que utiliza XML y HTTP, sin las abstracciones adicionales de los protocolos basados en patrones de intercambio de mensajes como el protocolo de servicios web SOAP. Es posible diseñar sistemas de servicios web de acuerdo con el estilo arquitectural REST de Fielding y también es posible diseñar interfaces XMLHTTP de acuerdo con el estilo de llamada a procedimiento remoto pero sin usar SOAP."
La tendencia en la web 2.0 es usar rest para crear y consumir servicios web, en vez de soap.
En vez de usar soap se usa rest y en vez de xml se puede usar json, aunque se puede usar XML.
Xml= Tabla tipo excel con datos, xml es un lenguaje de etiquetas, pero más estructurado para transferir datos.
Json= cadena de strings con datos enviadas por la red y atadas a un objeto. Con json solo se envia un objeto y atado a ese objeto va un array simple de strings conteniendo datos.
Serializar un objeto json es como armar el string json que se va a enviar y desde otra parte de la red tendrías que deserializar o desarmas el objeto con su string para poder usar esos datos que venían en el json.
Básicamente REST seria una especificación o estandar, para a partir de ella crear una Api(interfaz de comunicación) que permite enviar y recibir datos mediante http.
Lo que voy entendiendo es que abres un punto en la url del dominio(nombre del sitio web) para acceso y mediante ese punto de acceso haces llamadas REST para extraer datos y recibir datos desde y hacia el dominio.
Ese acceso a través de la url es el que permite meter datos a tu sitio y sacar datos de tu sitio.
Como lo haces a través de una Api, esa api debe estar basada y respetar los principios de la especificacion rest.
Los datos se envian o viajan en formato Json, aunque puede ser en XML, dependiendo de la preferencia del desarrollador.
El protocolo o lenguaje de comunicación de red es el http = Hyper Text Transfer Protocol.
Aunque los autores modernos ya no dicen que sea solo para transferencia de hipertexto porque ya no se transfiere solo texto sino hipermedios: videos, fotos, etc.
Como se estaría usando el HTTP se tendrían que usar los "comandos" o como se llamen el put, get, post, delete para realizar las operaciones de CRUD (ABM=Altas, Bajas, Cambios, Lectura) sobre los datos del sitio.
En resumen (según el novato que intenta explicar el show):
Rest = Una especificación para usar http y xml/json para intercambio de datos en la red.
http = Protocolo de comunicación para transferencia de "hipermedios".
Api Rest= Clases y código para acceder/enviar datos mediante REST.
Put, get, post, delete= Comandos del lenguaje o protocolo de red http para hacer las operaciones crud via REST.
La Api REST es la que hace el desarrollador y puede hacerla con o sin frameworks para rest.
Al crear esa Api REST se puede decir que está creando un servicio web basado en REST.