Diferencia entre revisiones de «Usuario:ManuelRomero/PHP/servicioWeb/rest»
De WikiEducator
< Usuario:ManuelRomero | PHP | servicioWeb
Línea 5: | Línea 5: | ||
**Todos los '''''recursos''''' a los que accedemos en la web son '''''definidos''''' y '''''diseccionados''''' | **Todos los '''''recursos''''' a los que accedemos en la web son '''''definidos''''' y '''''diseccionados''''' | ||
*Rest define cómo se establece una interacción entre sistemas basada en un navegador web y '''''http''''' | *Rest define cómo se establece una interacción entre sistemas basada en un navegador web y '''''http''''' | ||
− | {{Puntos clave|title=Básico en Rest| | + | {{Puntos clave|title=Básico en Rest|REST Permite definir una '''''interfaz''''' '''''web''''' |
}} | }} | ||
;interfaz | ;interfaz |
Revisión de 12:18 31 ene 2016
REST
- Término introducido por [Roy Fielding] en 2000 (es uno de los principales autores de la especificación HTTP)
- Todos los recursos a los que accedemos en la web son definidos y diseccionados
- Rest define cómo se establece una interacción entre sistemas basada en un navegador web y http
- interfaz
- Como de exponernos al exterior para que puedan interactuar con nosotros
- Cómo recoger los datos para poderlos interpretar
- Como generar una salida para que nos la entiendas
- web
- red de páginas o recursos que se comunica por el protocolo http
(No es una definición, pero sí un concepto importante y una realidad).
Base de Rest
- Rest no es un estándar, es una especificación basada en estándares
- http
- Protocolo sin estado
- Vebos o acciones en la solicitud GET, POST, DELETE, UPDATE y PUSH.
- URL
- Representación de los recursos
- Tipos MIME : text/html , text/xml, text/json,...
|
El protocolo http establece en cada mensaje http un verbo o acción que encabeza la solicitud del mensaje Este puede ser
|
- Estas acciones suelenser comparados con las operaciones asociadas a la tecnología de base de datos,
operaciones CRUD: CREATE, READ, UPDATE, DELETE.
- Existen otra analogías como podemos ver en la tabla siguiente:
Accion | HTTP | SQL | Copy&Paste | UNIX Shell |
---|---|---|---|---|
Create | PUT | Insert | Pegar | > |
Read | GET | Select | Copiar | < |
Update | POST | Update | Pegar | >> |
Delete | DELETE | Delete | Cortar | Del / rm |
Acción HTTP SQL Copy&Paste Unix Shell Create PUT Insert Pegar > Read GET Select Copiar < Update POST Update Pegar después >> Delete DELETE Delete Cortar Del/rm
|
URI y URL's amigables
- Una URL es el localizador de ese recurso, por ejemplo
http://localhost/tienda/producto.php La URL es http://localhost/tienda.php El URI o recurso es producto.php
- Una URL amigable es una URL que el cliente va a escribir en el navegador, aunque no existe tal cual en el servidor, sino que el servidor realiza una tradcucción
- supongamos que en nuestro proyecto tenemos la URL
http://localhost/reescritura/paginaAmigosConfianza.php&dato=pedro
- Es claro ver que a alguien le sería mas claro escribir
http://localhost/reescritura/amigo/pedro
- Para conseguir esto, lo que tendríamos que hacer es establecer una regla en el servidor de modo que traduzca una url en la otra
- Pasos a seguir
- La sobreescritura de direcciones amigables la hace el módulo rewrite' de apache
- Primero miramos a ver si tenemos ese módulo instalado
/usr/sbin/apachectl -t -D DUMP_MODULES
- Nos listará los módulos instalados. Buscamos rewrite