Si está relacionado con el desarrollo web, comprender los conceptos de HTTP juega un papel vital. Entonces, comprendamos más sobre HTTP y sus conceptos en breve.
HTTP o Protocolo de transferencia de hipertexto, como su nombre lo indica, es un protocolo, es un conjunto de reglas que el servidor debe seguir para transmitir todo tipo de archivos como imágenes, texto, audio, video y otros tipos a través de la red mundial. (www).
Internet se compone de clientes y servidores. Entonces, cuando accede a Internet a través de un cliente web como navegadores como Google Chrome, Mozilla, IE, etc. Cuando ingresa el nombre de cualquier sitio web que desea visitar, está enviando una solicitud a un servidor web. Supongamos que escribe amazon.in, usted (el navegador que es el cliente web) está solicitando el servidor web y, a menudo, solicita un montón de documentos de ese servidor.
Tal vez sea un HTML, CSS, imágenes, video, JSON. Haces una solicitud y el servidor responde, esa es la relación básica. Esta solicitud se realiza utilizando el protocolo HTTP. Un protocolo es solo un conjunto de reglas o estándares que todos en Internet han aceptado.
Este es el modelo de solicitud-respuesta cliente-servidor. HTTP es un protocolo de capa de aplicación y, por lo general, se comunica con el servidor mediante el Protocolo de control de transmisión (TCP).
Sí, originalmente, HTTP es un protocolo sin estado. Esto se debe a que cada solicitud se ejecuta de forma independiente, sin ningún conocimiento de las solicitudes que se ejecutaron antes, lo que significa que una vez que finaliza la transacción, se pierde la conexión entre el navegador y el servidor. Esto podría ser un problema para ciertos sitios web en los que necesita autenticarse para realizar cualquier transacción. Pero las cookies HTTP hacen que esta conexión tenga estado al enviar una cookie junto con cada solicitud HTTP. De esta forma, su experiencia de navegación y realización de cualquier transacción a través de Internet se vuelve mejor y más segura.
Desde ahora hemos entendido la relación entre el cliente y el servidor y algunos conceptos básicos sobre HTTP. El cliente (usted) hace una solicitud y el servidor responde, eso sucede cada vez que ingresa un enlace y presiona enter en su navegador. Se utilizan muchos protocolos como DNS, FTP, HTTP, SMTP (protocolo simple de transferencia de correo), SSL (capa de sockets seguros). HTTP es el más utilizado y también es fácil de leer y entender por los usuarios normales.
Entonces, un cliente hace una solicitud al servidor, ¿cómo sabría el servidor qué operación realizar?
HTTP utiliza métodos para informar al servidor qué acciones deben realizarse cuando el cliente envía una solicitud. También se llama verbos HTTP. Cada uno de estos métodos realiza la operación requerida y devuelve el éxito o el fracaso al completarse.
Los métodos HTTP más utilizados son GET, POST, PUT y DELETE. También hay algunos otros, como HEAD, OPTIONS, TRACE. Entendamos qué hacen los cuatro métodos ampliamente utilizados:
OBTENER
Las solicitudes GET son de solo lectura, se utilizan para leer los datos, recuperarlos y devolverlos al cliente. Es la más simple entre todas las solicitudes, ya que proporciona el recurso requerido sin modificaciones.
CORREO
Las solicitudes POST se utilizan para crear o agregar un nuevo elemento a la URL solicitada. Por ejemplo, crear una nueva cuenta o publicar un nuevo blog o medio. Según su URL, publica los datos en una ubicación específica. Una vez hecho, responde con el código de estado 201 (CREADO), junto con el enlace de ubicación de los datos publicados.
PONER
Las solicitudes PUT se utilizan para modificar o reemplazar los datos actuales con los datos solicitados. Por ejemplo, cambiar la contraseña en un sitio web. También se puede usar para crear un elemento nuevo como POST, pero POST se usa para ese propósito.
ELIMINAR
La solicitud DELETE se utiliza para eliminar todos los datos de la ubicación de destino solicitada por el cliente. Es una operación arriesgada porque una vez borrada, no se puede volver a recuperar.
Si las solicitudes anteriores son exitosas, devuelve los datos solicitados por el cliente junto con el código de estado 200 (ÉXITO). De lo contrario, regresa con el código de estado 404 (PÁGINA NO ENCONTRADA) o devuelve el código de estado 500 (Error del servidor).
Entonces, un cliente realiza una solicitud al servidor, ¿cómo sabría el cliente sobre el estado de la solicitud?
Los códigos de estado nos permiten saber si la solicitud que hicimos al servidor fue exitosa o fallida o algo intermedio.
Se dividen en 5 grupos:
¡Puedes leer sobre todos los códigos de estado aquí !
Puede ver cómo se ven estas solicitudes HTTP accediendo a las herramientas de desarrollo web desde el navegador Mozilla Firefox o Chrome. Mozilla Firefox ofrece una mejor herramienta para inspeccionar a través de la consola web.
Aquí puede visitar la sección Red para ver todas las solicitudes que se envían cuando ingresa un nombre en particular para buscar. Puede ver todos los detalles de las solicitudes enviadas con código de estado, método, nombre de dominio, tipo de archivo, tamaño.
Cuando hace clic en cualquier solicitud, se abrirá el encabezado y toda la información relacionada con esa solicitud en particular.
Los encabezados HTTP para un mensaje de solicitud se ven así:
Las solicitudes constan de los siguientes elementos:
Las respuestas constan de los siguientes elementos:
Mientras navegaba por la web, debe haber encontrado http:// y https://
HTTP request or response is not encrypted and is vulnerable to various types of security attacks and uses port 80.
HTTPS request, on the other hand, is a more secure way of communicating with the web server that is encrypted and uses the port 443. HTTPS, here S stands for HTTP over TLS/SSL.
HTTP juega un papel crucial en el funcionamiento de la web y en la relación cliente-servidor. Aunque HTTP no tiene estado, es más fácil de escalar. Todos los datos de sesión relacionados para ese estado se reciben con cada solicitud y respuesta, a través de las cuales se realiza el trabajo de mantener un estado para ese ciclo de solicitud en particular.
Entonces, como viste, HTTP es un tema amplio, tiene mucho más que eso. He intentado cubrir algunos temas básicos y esenciales para brindarle una entrada fácil al mundo web. Espero que este artículo haya sido útil. Si tiene alguna duda o sugerencia, comente a continuación.