REST = Transferencia de estado representativa
REST es un conjunto de reglas que, cuando se siguen, le permiten crear una aplicación distribuida que tiene un conjunto específico de restricciones deseables.
REST es un protocolo para intercambiar cualquier mensaje (XML, JSON, etc.) que pueda usar HTTP para transportar esos mensajes.
caracteristicas:
No tiene estado, lo que significa que, idealmente, no se debe mantener ninguna conexión entre el cliente y el servidor. Es responsabilidad del cliente pasar su contexto al servidor y luego el servidor puede almacenar este contexto para procesar la solicitud adicional del cliente. Por ejemplo, la sesión mantenida por el servidor se identifica mediante el identificador de sesión pasado por el cliente.
Ventajas de la apatridia:
- Los servicios web pueden tratar las llamadas de cada método por separado.
- Los servicios web no necesitan mantener la interacción previa del cliente.
- Esto a su vez simplifica el diseño de la aplicación.
- HTTP es en sí mismo un protocolo sin estado a diferencia de TCP y, por lo tanto, los servicios web RESTful funcionan a la perfección con los protocolos HTTP.
Desventajas de la apatridia:
- Se debe agregar una capa adicional en forma de encabezado a cada solicitud para preservar el estado del cliente.
- Por seguridad, necesitamos agregar una información de encabezado a cada solicitud.
Métodos HTTP admitidos por REST:
OBTENGA: / string / someotherstring Es idempotente y lo ideal es que devuelva los mismos resultados cada vez que se realiza una llamada
PUT: Igual que GET. Idempotente y se utiliza para actualizar recursos.
POST: debe contener una url y un cuerpo Usado para crear recursos. Las llamadas múltiples deberían idealmente devolver resultados diferentes y deberían crear múltiples productos.
BORRAR: Se usa para eliminar recursos en el servidor.
CABEZA:
El método HEAD es idéntico a GET, excepto que el servidor NO DEBE devolver un cuerpo de mensaje en la respuesta. La metainformación contenida en los encabezados HTTP en respuesta a una solicitud HEAD DEBE ser idéntica a la información enviada en respuesta a una solicitud GET.
OPCIONES
Este método permite al cliente determinar las opciones y / o requisitos asociados con un recurso, o las capacidades de un servidor, sin implicar una acción de recurso o iniciar una recuperación de recursos.
Respuestas HTTP
Vaya aquí para todas las respuestas .
Aquí hay algunos importantes: 200 - OK 3XX - Información adicional necesaria del cliente y redireccionamiento de URL 400 - Solicitud incorrecta
401 - No autorizado para acceder
403 - Prohibido
La solicitud fue válida, pero el servidor rechaza la acción. Es posible que el usuario no tenga los permisos necesarios para un recurso o que necesite una cuenta de algún tipo.
404 - No encontrado
El recurso solicitado no se pudo encontrar, pero puede estar disponible en el futuro. Se permiten solicitudes posteriores del cliente.
405 - Método no permitido No se admite un método de solicitud para el recurso solicitado; por ejemplo, una solicitud GET en un formulario que requiere que los datos se presenten a través de POST, o una solicitud PUT en un recurso de solo lectura.
404 - Solicitud no encontrada
500 - Falla interna del servidor
502 - Error de puerta de enlace incorrecta