unidades:10_servidor:01_rest
Diferencias
Muestra las diferencias entre dos versiones de la página.
| Ambos lados, revisión anteriorRevisión previaPróxima revisión | Revisión previa | ||
| unidades:10_servidor:01_rest [2014/08/30 12:47] – [Tratamiendo de errores] admin | unidades:10_servidor:01_rest [2014/10/13 09:32] (actual) – [Referencias] admin | ||
|---|---|---|---|
| Línea 21: | Línea 21: | ||
| Los datos que se envían es una petición HTTP son: | Los datos que se envían es una petición HTTP son: | ||
| * La URI del recurso que se pide. | * La URI del recurso que se pide. | ||
| + | * El método HTTP | ||
| * Las cabeceras HTTP. Hay gran cantidad de cabeceras pero su formato es siempre el nombre de la cabecera y su valor. | * Las cabeceras HTTP. Hay gran cantidad de cabeceras pero su formato es siempre el nombre de la cabecera y su valor. | ||
| * El cuerpo de la petición con los datos del usuario. Por ejemplo datos en formato JSON o datos en formato XML. | * El cuerpo de la petición con los datos del usuario. Por ejemplo datos en formato JSON o datos en formato XML. | ||
| Línea 42: | Línea 43: | ||
| * El formato de los datos | * El formato de los datos | ||
| * El estado de la aplicación | * El estado de la aplicación | ||
| - | * La paginación | + | * Cache |
| + | * Etc. | ||
| ===== Las operaciones a realizar ===== | ===== Las operaciones a realizar ===== | ||
| Línea 101: | Línea 103: | ||
| Una posible modificación que vi en un proyecto real consistía en hacer que el update y el insert no retornaran el objeto completo actualizado o insertado. Y no lo retornaban para ahorra tiempo y ancho de banda. Solo se retornaba en id del objeto recién insertado. Luego si hacía falta todos los datos , cosa que no solía necesitarse, | Una posible modificación que vi en un proyecto real consistía en hacer que el update y el insert no retornaran el objeto completo actualizado o insertado. Y no lo retornaban para ahorra tiempo y ancho de banda. Solo se retornaba en id del objeto recién insertado. Luego si hacía falta todos los datos , cosa que no solía necesitarse, | ||
| </ | </ | ||
| + | |||
| + | |||
| ===== Tratamiendo de errores ===== | ===== Tratamiendo de errores ===== | ||
| Línea 165: | Línea 169: | ||
| Por otro lado cuando insertamos o actualizamos , estamos enviando datos en formato JSON, ¿Como le decimos al servidor que son en formato JSON? Usando la cabecera '' | Por otro lado cuando insertamos o actualizamos , estamos enviando datos en formato JSON, ¿Como le decimos al servidor que son en formato JSON? Usando la cabecera '' | ||
| - | Al retornarnos el servidor los datos también incluirá en la respuesta otra cabecera '' | + | Al retornarnos el servidor los datos también incluirá en la respuesta otra cabecera '' |
| Vamos ahora a resumir las cabeceras que hay al hacer una petición y recibir la respuesta: | Vamos ahora a resumir las cabeceras que hay al hacer una petición y recibir la respuesta: | ||
| Línea 174: | Línea 178: | ||
| * '' | * '' | ||
| - | en la petición no tendremos que preocuparnos de ponerlo yaque AngularJS ya lo hace pero en la respuesta nosotros deberemos indicar el '' | + | Como ya hemos dicho, |
| + | |||
| + | ===== El estado de la aplicación ===== | ||
| + | El tema del estado de la aplicación en el servidor es muy sencillo de tratar en REST. Simplemente nunca hay estado en el servidor para cada cliente. Cada petición debe ser independiente de las demas y nunca guardar nada en la sesión del servidor. | ||
| + | |||
| + | Aunque esto es la teoría , yo personalmente si que guardo en la sesión el usuario que ha entrado en el sistema aunque se podría crear una solución **similar** | ||
| + | |||
| + | |||
| + | ===== Cache ===== | ||
| + | Al ser una petición REST como cualquier otra petición a una página web deberíamos tener en cuenta que las peticiones se pueden cachear en el navegador o en cualquier otro punto de la red. Por ello en general es adecuado indicar desde el servidor si la respuesta puede ser o no cacheada. | ||
| + | |||
| + | ===== Otras características ===== | ||
| + | Siguiente HTTP podríamos ver mas cosas como por ejemplo como hacer la paginación, | ||
| + | ====== Referencias ====== | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[https:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
| + | * [[http:// | ||
unidades/10_servidor/01_rest.1409395676.txt.gz · Última modificación: por admin
