Muy bien, hablemos ahora de los métodos de envío de información, concretamente del
protocolo HTTP. Estos métodos en algunos lugares se conocen como verbos, y básicamente
definen la acción que se desea realizar sobre un recurso identificado por una URL. Y son
métodos que sí o sí tienes que conocer, ya como conocimiento básico de la existencia humana, papá. Y estos métodos son los siguientes. Tenemos el método GET, que se utiliza para
solicitar datos a un recurso en específico, y a líneas generales es el más simple de
todos, ya que como tal GET no altera el estado del recurso, lo que lo hace idóneo para operaciones
de recuperación de datos. Y suele ser un método bastante usado, pero ten en cuenta
es un método que envía los datos solicitados, si los hay, a través de la URL, generalmente
como una cadena de consulta o parámetros. Esta visibilidad puede ser útil en algunos
casos, en algunos muy puntuales, ya que generalmente enviar información, digamos sensible a través
de la URL por un método GET, no suele ser la mejor forma de asegurar la protección
y privacidad de los datos. Seguidamente, tenemos el método de envío POST, que POST como tal se usa para enviar datos para ser procesados a un recurso específico
pero a diferencia de GET, los datos enviados con el método POST se transmiten en el cuerpo
de la solicitud, y como tal no son visibles, digamos desde la URL, lo que tiene varias
ventajas, principalmente que nos permite enviar mayores cantidades de datos, sin que le d�
ansiedad a la cornea del que tenga que ver la URL. Y evidentemente, cuando los datos
nos envían a través de la URL, se reduce mucho la superficie de ataque, de que alguien
intente manipular los datos que se envían, cosa que en GET sí pasaba, aunque ten en
cuenta que esto como tal no es una medida de seguridad, porque perfectamente en POST se puede capturar la petición y modificarla desde ahí, pero como tal no es tan directo
pero igualmente existe la posibilidad de que se puedan modificar. A lo que tú te puedes preguntar, ¿cuál es la diferencia exacta, además de la que
comentamos, entre GET y POST? Pues fíjate, GET como tal se utiliza comúnmente para solicitar
la representación de una página web o los datos de una API, es decir, es ideal para
operaciones de lectura, donde no se afecta como tal el estado del recurso. Sin embargo
debido a que los parámetros de la solicitud GET se envían en la URL, están limitados
en longitud, por el navegador y el servidor, y pueden ser almacenados en archivos de registro
del servidor y en el historial del navegador, lo que evidentemente en un caso hipotético
también podría representar un riesgo, principalmente de exposición de datos sensibles. Por otro lado, POST frecuentemente es utilizado para crear recursos o enviar datos que no
deben ser expuestos en la URL, por ejemplo, para enviar datos a través de un formulario
que contienen datos confidenciales, que esto no quiere decir que todos los formularios
usen POST, hay ponquecitos que lo configuran para que usen GET, y bueno, pasa lo que pasa
Ahora más métodos, tenemos el método PUT, que se utiliza para enviar datos, pero con
la intención de actualizar completamente el recurso existente. Dicho de otra forma
este método es idóneo para actualizaciones completas, ya que va a reemplazar los datos actuales del recurso por los datos nuevos que nosotros proporcionamos, y si el recurso
no existe, pues PUT puede crearlo. Seguidamente, está el método DELETE, que este método como su nombre indica, se utiliza
para eliminar un recurso, es decir, con PUT actualizamos y en dados casos podemos llegar
a crear, y con DELETE podemos eliminar algún recurso, digamos de la base de datos o del
sistema de archivos del propio servidor. Seguidamente, tenemos el método PATCH, que se utiliza para aplicar actualizaciones parciales
a un recurso, y como tal se diferencia de PUT, ya que este permite actualizar partes
del recurso, sin necesidad de enviar todo el recurso completo, es decir, si quisiéramos
actualizar algo con PUT, debemos hacerlo completo, a nivel de todo el recurso, y con PATCH podemos
hacerlo solamente de forma parcial, es decir, partes de este recurso, sin afectar a todo
el conjunto completo. Siguiente método, HIT, este es similar a GET, y como tal este se utiliza más que nada
para obtener los metadatos del recurso en cuestión, sin necesidad de transferir todo
el recurso en sí, y generalmente se usa para comprobar que recursos están disponibles
o para verificar cambios en los recursos, sin descargarnos todo el contenido
Digamos que es un GET light. También tendremos el método TRACE, que permite mostrar básicamente eso, la ruta que ha tomado
una solicitud a través de redes y servidores, devolviendo así la solicitud completa, para
que el cliente pueda ver lo que los servidores intermedios están viendo. Adicionalmente, está el método CONNECT, que convierte la solicitud de conexión en
un túnel TCPIP, esto generalmente se usa, principalmente para cifrar las comunicaciones
del protocolo HTTPS a través de algún proxy. Y ya por último, tenemos el método OPTIONS, que se utiliza para describir las opciones
a nivel de la comunicación, opciones que estén disponibles para el recurso de destino
y es bastante útil para determinar las capacidades de, por ejemplo, un servidor, o para verificar
las características adicionales que estén soportadas por el recurso o el servidor, como
por ejemplo, consultar los métodos HTTP que están permitidos en un recurso en específico
Y te digo, conocer los métodos HTTP que se permiten a nivel de un recurso como tal, es
bastante útil, porque a través de esto también podemos hacernos una idea, de las múltiples
formas que tenemos, para solicitarle o enviarle datos al servidor en cuestión
Así que con esto explicado, continuemos