{"id":128,"date":"2023-09-10T22:54:08","date_gmt":"2023-09-11T01:54:08","guid":{"rendered":"https:\/\/mauriciobeltran.cl\/?p=128"},"modified":"2023-09-10T22:54:08","modified_gmt":"2023-09-11T01:54:08","slug":"como-funciona-la-web-una-breve-guia-para-comprender-el-mundo-donde-nos-movemos","status":"publish","type":"post","link":"https:\/\/mauriciobeltran.cl\/index.php\/2023\/09\/10\/como-funciona-la-web-una-breve-guia-para-comprender-el-mundo-donde-nos-movemos\/","title":{"rendered":"\u00bfC\u00f3mo funciona la web? una breve gu\u00eda para comprender el mundo donde nos movemos"},"content":{"rendered":"\n<p>En esencia, la web es una red entrelazada de m\u00faltiples terminales tecnol\u00f3gicas (computadores), routers, switches y redes f\u00edsicas que permiten que nos comuniquemos digitalmente. Para que funcione, deben existir diversos elementos que permitan facilitar su acceso y que revisaremos brevemente en esta gu\u00eda.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>\u00bfQue es DNS y para que sirve?<\/strong><\/p>\n\n\n\n<p>DNS se refiere a Domain Name System (Sistema de nombres de dominio) que se encarga de traducir un nombre f\u00e1cilmente le\u00edbles (ej: misitio.com) con una direcci\u00f3n de red (10.154.33.2, por ejemplo). Esto es \u00fatil ya que como seres humanos, nos es mas f\u00e1cil recordar frases que n\u00fameros tan cr\u00edpticos.<\/p>\n\n\n\n<p>DNS Posee diversas jerarquias, supongamos el mismo dominio www.misitio.com lo podemos desglosar en 3:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>TLD: Top level domain, hace referencia a la secci\u00f3n que se encuentra m\u00e1s a la derecha (.com) y tiene como objetivo especificar el fin de la aplicaci\u00f3n o la zona donde se ubica<\/li>\n\n\n\n<li>SDL: Second level domain; este segundo elemento (misitio) hace referencia al sitio propiamente tal y tiene como restricci\u00f3n usar 63 caracteres como m\u00e1ximo con letras y n\u00fameros solamente (tambien permite \u00ab-\u00bb pero no puede estar ni al principio ni al final).<\/li>\n\n\n\n<li>Subdominio: del SDL hacia la izquierda se consideran subdominios (www), tiene las mismas restricciones de caracteres que del dominio y no puede exceder los 253 caracteres en total.<\/li>\n<\/ol>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"421\" src=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14-1024x421.png\" alt=\"\" class=\"wp-image-150\" srcset=\"https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14-1024x421.png 1024w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14-300x123.png 300w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14-768x316.png 768w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14-1536x632.png 1536w, https:\/\/mauriciobeltran.cl\/wp-content\/uploads\/2023\/09\/image-14.png 1584w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><\/p>\n\n\n\n<p><strong>DNS record types<\/strong><\/p>\n\n\n\n<p>DNS no solo se utiliza para paginas web, si no que para otras cosas como por ejemplo:<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<ol class=\"wp-block-list\">\n<li>A:<strong> <\/strong>Resuelven direcciones IPv4<\/li>\n\n\n\n<li>AAAA: Resuelven direcciones IPv6<\/li>\n\n\n\n<li>CNAME: Son para generar alias, resolver otros dominios. Por ejemplo whoami.misitio.cl podria redireccionar a profile.otrodominio.com<\/li>\n\n\n\n<li>MX:<strong> <\/strong>Definiciones de correo que utiliza el dominio, puedes especificar el nombre completo del dns asociado al servicio, por ejemplo mxsender.v1.mimail.cl<\/li>\n\n\n\n<li>TXT: Texto libre que puede alojar tokens de validacion de third parties.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>HTTP(S<\/strong>)<\/p>\n\n\n\n<p>Son un set reglas que permiten a un navegador (o cliente) interactuar con servidores web y procesar informaci\u00f3n, videos, m\u00fasica, etc.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>URL<\/strong><\/p>\n\n\n\n<p>Es una instrucci\u00f3n de como acceder a un recurso en internet, generalmente tiene los siguientes componentes<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Esquema: Protocolo por el cual se accede (http, https, ftp)<\/li>\n\n\n\n<li>Ruta: Nombre de dominio (DNS) o IP del servidor al que se quiere acceder<\/li>\n\n\n\n<li>Puerto: Puerto por el que se conectar\u00e1 (tipicamente 80 para HTTP y 443 para HTTPS)<\/li>\n\n\n\n<li>Ruta: Archivo o ubicaci\u00f3n del recurso al que se quiere acceder<\/li>\n\n\n\n<li>Query string: Informaci\u00f3n extra para realizar determinadas acciones sobre el recurso<\/li>\n\n\n\n<li>Fragmento: Referencia a una posici\u00f3n dentro de la pagina actual<\/li>\n<\/ol>\n\n\n\n<p>Tambi\u00e9n es posible que en sitios con autentificaci\u00f3n aparezca la obligaci\u00f3n de declarar un usuario y contrase\u00f1a.<\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><strong>M\u00e9todos HTTP<\/strong><\/p>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p>En simple, es una <strong>forma estandarizada<\/strong> de mostrarle al servidor que queremos hacer cuando realizamos una petici\u00f3n HTTP. Entre los m\u00e1s usados nos encontramos con.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-28f84493 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<ol class=\"wp-block-list\">\n<li>GET:  <strong>Obtener<\/strong> informaci\u00f3n<\/li>\n\n\n\n<li>POST: <strong>Insertar<\/strong> informaci\u00f3n <\/li>\n\n\n\n<li>PUT:  <strong>Actualizar<\/strong> informaci\u00f3n <\/li>\n\n\n\n<li>DELETE:  <strong>Eliminar<\/strong> informaci\u00f3n<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<p>Existen varios m\u00e1s, pero estos son los m\u00e1s usados. <\/p>\n\n\n\n<p>Siempre recordemos que es un est\u00e1ndar, m\u00e1s no una inflexible regla, eventualmente yo podr\u00eda tratar todo a punta de GET, pero se recomienda utilizarlo de la forma previamente planteada.<\/p>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><\/p>\n\n\n\n<p><strong>C\u00f3digos de respuesta HTTP<\/strong><\/p>\n\n\n\n<p>Toda petici\u00f3n tiene o no una respuesta de un servidor HTTP. Existe una estandarizaci\u00f3n para procesar esta informaci\u00f3n:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>C\u00f3digos 1XX: Son c\u00f3digos de informaci\u00f3n de respuesta. Esta solicitud ha sido aceptada y se espera que se env\u00ede mayor informaci\u00f3n.<\/li>\n\n\n\n<li>C\u00f3digos 2xx: Son c\u00f3digos que se\u00f1alan que una solicitud fue procesada exitosamente<\/li>\n\n\n\n<li>C\u00f3digos 3XX: son c\u00f3digos que indican que la solicitud fue redirigida a otro recurso<\/li>\n\n\n\n<li>C\u00f3digos 4XX: Son c\u00f3digos que informar al cliente de alg\u00fan error en la solicitud<\/li>\n\n\n\n<li>C\u00f3digos 5XX: Son c\u00f3digos que indican que se produjo alg\u00fan error en el servidor que deb\u00eda otorgar una respuesta<\/li>\n<\/ol>\n<\/div>\n\n\n\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<div class=\"wp-block-group is-layout-constrained wp-block-group-is-layout-constrained\">\n<p><\/p>\n\n\n\n<p><strong>Headers<\/strong><\/p>\n\n\n\n<p>Los Headers son informaci\u00f3n adicional que se puede enviar al web server a la hora de hacer solicitudes.<\/p>\n\n\n\n<p><em>Headers de solicitud comunes<\/em><\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Host: Indica expl\u00edcitamente que host va a requerir para realizar la operaci\u00f3n<\/li>\n\n\n\n<li>User-Agent: Indica que software y versi\u00f3n se est\u00e1 utilizando para generar la consulta.<\/li>\n\n\n\n<li>Content-Length: Se le indica al servidor cuanta informaci\u00f3n se le est\u00e1 enviando, para verificar que exista consistencia con lo que reciba.<\/li>\n\n\n\n<li>Accept-Encoding: Se le indica al servidor que tipos de compresi\u00f3n va a utilizar<\/li>\n\n\n\n<li>Cookies: Informaci\u00f3n enviada al servidor que ayuda a recordar informaci\u00f3n propia<\/li>\n<\/ol>\n<\/div>\n\n\n\n<p><em>Headers de respuesta comunes<\/em><\/p>\n\n\n\n<p>As\u00ed como enviamos headers en la solicitud, tambi\u00e9n recibimos headers de respuesta a una solicitud, entre los cuales encontramos<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Set-Cookie: Informaci\u00f3n a almacenar para ser enviada posteriormente al servidor<\/li>\n\n\n\n<li>Cache-Control:<\/li>\n\n\n\n<li>Content-Type: Tipo de informaci\u00f3n que est\u00e1 siendo retornada<\/li>\n\n\n\n<li>Content-Ecodig: M\u00e9todo de compresi\u00f3n usado<\/li>\n<\/ol>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>Cookies<\/strong><\/p>\n\n\n\n<p>Las cookies son peque\u00f1as piezas de c\u00f3digo que se guardar en el cliente y que le permiten al servidor web saber qui\u00e9n eres. Esto es particularmente sensible porque el incorrecto aseguramiento de \u00e9stas pueden generar brechas de seguridad, como suplantaci\u00f3n de identidad, manipulaci\u00f3n de par\u00e1metros para generar comportamientos inesperados entre otros.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>En esencia, la web es una red entrelazada de m\u00faltiples<\/p>\n","protected":false},"author":1,"featured_media":149,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,14,13],"tags":[],"class_list":["post-128","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ethical-hacking","category-fundamentals","category-web"],"_links":{"self":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/128","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/comments?post=128"}],"version-history":[{"count":25,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/128\/revisions"}],"predecessor-version":[{"id":162,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/posts\/128\/revisions\/162"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/media\/149"}],"wp:attachment":[{"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/media?parent=128"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/categories?post=128"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mauriciobeltran.cl\/index.php\/wp-json\/wp\/v2\/tags?post=128"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}