Introducción a API REST (Gratis) | 1.3 - Protocolo HTTP
Jesús Raúl González Navarrete@jesusraulgonzaleznavarrete
REST se basa en el protocolo HTTP para poder exponer su arquitectura, incluso, cualquier navegador web hacia cualquier pagina web, utiliza la arquitectura REST bajo el protocolo HTTP.
¿Qué es el protocolo HTTP?
El protocolo HTTP nos permite exponer una serie de reglas.
Un protocolo es una serie de pasos que debes de seguir para cumplir un objetivo. No es un algoritmo, los algoritmos son una serie de pasos para solucionar un problema, pero un protocolo son una serie de pasos que debes realizar para cumplir un objetivo específico.
El protocolo nos permite exponer un estándar para que todos hablemos el mismo idioma y sigamos las mismas reglas, de lo contrario, cada uno haría sus propias reglas y ya no sería un estándar.
El protocolo HTTP es en la que se basa la arquitectura REST para exponer nuestras API’s. Se basa en una comunicación cliente-servidor donde el cliente hace una petición y el servidor le da una respuesta.
¿Cómo debe ser esa petición para cumplir con ese estándar?
La petición debe ser de esta forma:
GET /index.html HTTP/1.1
Host: www.example.com
Referer: www.google.com
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Firefox/45.0
Connection: keep-alive
Las peticiones son cadenas de texto plano, donde se le indica al servidor cual es el requerimiento. La primera línea de esta petición es la mas importante y consiste en:
GET Es un método o verbo del HTTP
/index.html Es una ruta o path
HTTP/1.1 Versión del protocolo HTTP, actualmente ya se usa la versión 3, pero la versión 1.1 todavía es un estándar
Esta línea identifica que tipo de petición se está haciendo
Y la respuesta suele verse así:
HTTP/1.1 200 OK
Date: Fri, 31 Dec 2003 23:59:59 GMT
Content-Type: text/html
Content-Length: 1221
Pagina principal de tuHost
(Contenido)
Donde la primera línea sigue siendo importante:
HTTP/1.1 Versión del HTTP que está usando
200 un código de respuesta
OK Texto de ese código de respuesta
Esta respuesta resultó ser exitosa, que todo lo que se solicitó esta correcto y se está devolviendo