Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
clase:daw:daw:1eval:tema04 [2020/09/10 23:46] admin [REST] |
clase:daw:daw:1eval:tema04 [2024/11/22 18:35] (actual) admin [4. El protocolo HTTP] |
||
---|---|---|---|
Línea 2: | Línea 2: | ||
El protocolo HTTP se usa para enviar y recibir datos en la Web. | El protocolo HTTP se usa para enviar y recibir datos en la Web. | ||
- | En los siguientes enlaces se hace una explicación de HTTP: | + | Mas información: |
+ | * [[https:// | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
Línea 70: | Línea 71: | ||
* '' | * '' | ||
* '' | * '' | ||
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
Línea 83: | Línea 86: | ||
< | < | ||
- | La cabecera '' | + | * La cabecera '' |
- | Muchas veces hay ademas problemas con la codificación si es '' | + | * Por otro lado notar que '' |
</ | </ | ||
Línea 98: | Línea 101: | ||
De entre todos los código están algunos que solemos ver a menudo: | De entre todos los código están algunos que solemos ver a menudo: | ||
- | * 204: La petición no retorna datos. | + | |
- | * 403: Prohibido el acceso al documento | + | * 201: Se ha creado el recurso (Suele ser en un INSERT) |
+ | | ||
+ | * 400: Los datos que ha enviado el cliente no son correctos | ||
+ | * 401: Hay que estar logueado | ||
+ | * 403: El usuario está logueado pero tiene Prohibido el acceso al documento | ||
* 404: No encuentra el documento | * 404: No encuentra el documento | ||
* 500: Error del servidor | * 500: Error del servidor | ||
+ | {{: | ||
===== Métodos ===== | ===== Métodos ===== | ||
Los métodos ( o verbos) HTTP indican que acción queremos hacer con los datos. Al navegar normalmente se usa siempre el '' | Los métodos ( o verbos) HTTP indican que acción queremos hacer con los datos. Al navegar normalmente se usa siempre el '' | ||
* '' | * '' | ||
- | * '' | + | * '' |
- | * '' | + | * '' |
* '' | * '' | ||
Línea 124: | Línea 131: | ||
Accept-Language: | Accept-Language: | ||
- | El servidor **borrará** el fichero '' | + | El servidor **borrará** el fichero '' |
| | ||
Línea 136: | Línea 143: | ||
^ Método HTTP ^ Descripción ^ Metodo CRUD ^ Metodo SQL ^ | ^ Método HTTP ^ Descripción ^ Metodo CRUD ^ Metodo SQL ^ | ||
| GET | Este método HTTP lo usaremos para cuando queremos leer datos del servidor | Read | SELECT | | | GET | Este método HTTP lo usaremos para cuando queremos leer datos del servidor | Read | SELECT | | ||
- | | POST | Este método HTTP lo usaremos para añadir datos al servidor | Crear | INSERT | | + | | POST | Este método HTTP lo usaremos para añadir datos al servidor | Create |
| PUT | Este método HTTP lo usaremos para actualizar ((realmente es actualizar o insertar pero en este curso por simplificar, | | PUT | Este método HTTP lo usaremos para actualizar ((realmente es actualizar o insertar pero en este curso por simplificar, | ||
| DELETE | Este método HTTP lo usaremos para borrar datos del servidor | Delete | DELETE | | | DELETE | Este método HTTP lo usaremos para borrar datos del servidor | Delete | DELETE | | ||
Línea 146: | Línea 153: | ||
^ Descripción ^ URL ^ Método HTTP ^ JSON Enviado ^ JSON Retornado ^ | ^ Descripción ^ URL ^ Método HTTP ^ JSON Enviado ^ JSON Retornado ^ | ||
- | | Obtener un usuario | + | | Obtener un libro | ''/ |
- | | Listado de usuarios | + | | Listado de libros |
- | | Añadir un usuario | + | | Añadir un libro | ''/ |
- | | Actualizar un usuario | + | | Actualizar un libro | ''/ |
- | | Borrar un usuario | + | | Borrar un libro | ''/ |
- | Donde pone '' | + | Donde pone '' |
El "JSON Enviado" | El "JSON Enviado" | ||
Línea 200: | Línea 207: | ||
response.send(' | response.send(' | ||
}); | }); | ||
- | app.delete('/ | + | app.delete('/ |
response.status(200); | response.status(200); | ||
- | response.send(' | + | response.send(' |
}); | }); | ||
- | app.delete('/ | + | app.delete('/ |
response.status(404); | response.status(404); | ||
- | response.send(' | + | response.send(' |
}); | }); | ||
Línea 216: | Línea 223: | ||
==== Ejercicio 1 ==== | ==== Ejercicio 1 ==== | ||
+ | Usando el programa [[https:// | ||
+ | |||
+ | Debes conectarte al servidor " | ||
+ | |||
+ | * Envía la petición HTTP sin cabeceras. ¿Porque ha fallado? | ||
+ | * Añade ahora la cabecera '' | ||
+ | * Haz una nueva petición a la URL "/ | ||
+ | |||
+ | |||
+ | |||
+ | ==== Ejercicio 2 ==== | ||
En tu máquina debes instalar lo siguiente: | En tu máquina debes instalar lo siguiente: | ||
- | * Descargar el fichero {{biblioteca-original.json.zip|}} y descomprimelo. | + | * Descargar el fichero {{biblioteca-original.json.zip|}} y descomprimelo. |
- | * Instala | + | |
* Instala el servidor [[https:// | * Instala el servidor [[https:// | ||
Línea 239: | Línea 256: | ||
</ | </ | ||
+ | Indica las siguientes | ||
+ | |||
+ | ^ Descripción | ||
+ | | Obtener el libro de "La fundación" | ||
+ | | Borrar el libro de "Yo Robot" | | ||
+ | | Obtener todos los libros | | | | | ||
+ | | Añadir un nuevo género llamado " | ||
+ | |||
+ | |||
+ | ==== Ejercicio 3 ==== | ||
+ | Desde Firefox instala el plugin de [[https:// | ||
+ | |||
+ | Lanza las URL del ejercicio anterior. Si hay datos de entrada los deberás enviar en el campo de " | ||
+ | |||
+ | ==== Ejercicio 4 ==== | ||
+ | Modifica el servidor hecho en NodeJS de forma que: | ||
+ | * En la URL ''/ | ||
+ | * En la URL ''/ | ||
+ | |||
+ | <note tip> | ||
+ | Este ejercicio **no** tiene nada que ver con el ejercicio del JSON Server, se hace todo sobre el código de NodeJS de express. | ||
+ | </ | ||