Digamos que quieres responder una pregunta sobre Quora. Primero debe OBTENER (recuperar) la pregunta. Una vez que haya pensado un poco en la pregunta, es posible que desee PUBLICAR una respuesta. Tal vez más tarde, desee ACTUALIZAR o incluso ELIMINAR su respuesta si se da cuenta de que no era del todo correcta.
Bueno, REST es muy similar. Por lo general, utiliza el protocolo HTTP, que es el lenguaje estándar para la comunicación entre clientes web (navegadores) y servidores web. Obtiene un documento y hace algo con él, envía datos al servidor para que haga algo con él, tal vez BORRAR o ACTUALIZAR o hacer otras cosas con él.
Usando una interfaz RESTful, un programa cliente (no tiene que ser un navegador web) puede recuperar datos de otra fuente. En nuestro ejemplo de Quora anterior, el cliente puede establecer una conexión con el servidor web de Quora y luego pedirle un documento. En realidad se parece mucho a esto:
- Cloud Computing: ¿Vale la pena asistir a cursos de Cloud Academy?
- ¿Cuáles son algunos buenos usos para Amazon WorkSpaces?
- ¿Qué tecnologías y enfoques se utilizan para proteger la información y los servicios implementados en las infraestructuras de computación en la nube?
- ¿Los servicios en la nube eliminarán por completo la necesidad de la pila de IMS de las empresas de telecomunicaciones y los servicios de comunicación relacionados?
- ¿Qué hardware necesitas para competir efectivamente en Kaggle? ¿Qué tan costoso sería usar un proveedor basado en la nube para una configuración razonable?
Anfitrión: http://www.quora.com
OBTENER / categoría / pregunta
Las URL HTTP se construyen de manera similar. En un navegador web, la URL comienza con el protocolo (http: //), seguido del host / servidor del que desea recuperar un documento (http://www.quora.com) y es seguido por una ruta a la recurso (/ categoría / pregunta). El comando GET está implícito en la URL, ya que generalmente OBTENES un documento a menos que envíes un formulario.
Incluso puede probarlo usted mismo si desea escribir en el símbolo del sistema en su Windows CMD.exe o Mac OS X Terminal.app (el texto en cursiva es la respuesta del servidor):
C: \> telnet www.quora.com 80
Intentando 50.17.246.73 …
Conectado a quora-prod-www-371385872.us-east-1.elb.amazonaws.com .
El carácter de escape es ‘^]’.
GET / Cloud-Computing / ¿Cómo explicará usted REST-and-SOAP-to-a-people-having-basic-idea-of-cloud-computing? HTTP / 1.1
Anfitrión: www.quora.com
[ENTRAR]
[ENTRAR]
(el servidor responde con el contenido)
Una vez que el programa cliente haya recuperado el documento y esté listo para PUBLICAR algunos datos al servidor, podría verse así:
Anfitrión: www.quora.com
POST / categoría / pregunta? Respuesta HTTP / 1.1
Tipo de contenido: application / x-application-html
Longitud del contenido: 17
Yadda yadda yadda
Las interfaces REST generalmente usan todos los comandos (“verbos”) que existen en el protocolo HTTP – GET, HEAD, UPDATE, PUT, POST, etc. – pero no tienen que hacerlo.
SOAP es un poco más complicado porque no usa comandos HTTP. En su lugar, define su propio idioma para la comunicación (bueno, la interfaz del servidor proporciona las definiciones, y el cliente también debe admitirlas; esta es una de las razones por las que el estilo RESTful, mucho más simple, ha ganado mucha popularidad). Debido a que SOAP no se basa en HTTP, puede operar en diferentes capas de la red o usar diferentes protocolos de comunicación.