Aplicaciones HTTP/HTTPS

Sitio: Facultad de Ingeniería U.Na.M.
Curso: Redes II - IC421
Libro: Aplicaciones HTTP/HTTPS
Imprimido por: Invitado
Día: miércoles, 3 de julio de 2024, 06:34

1. Introducción.

¿Qué es protocolo HTTP?

Un protocolo es un conjunto de reglas. En nuestra vida cotidiana hay reglas escritas algunas se llaman leyes, otras normas, también hay reglas no escritas, por ejemplo cuando alguien los saluda uds. responden, si alguien le pasa la mano Uds. tienden la mano, esos son protocolos.

Los navegadores tienen que comunicarse con un Servidor para pedirle la información que le presentarán en la pantalla, para poder comunicarse deben hacerlo de manera ordenada, emitiendo pedidos y obteniendo respuestas.

https://library.automationdirect.com/wp-content/uploads/2015/07/OSI-model.png

Este protocolo se llama HTTP.

¿Qué es HTTP?

El Protocolo de transferencia de hipertexto (en inglés, Hypertext Transfer Protocol, abreviado HTTP) es el protocolo de comunicación que permite las transferencias de información en la World Wide Web.  En 1999, culminó la redacción del documento que establece las normas, se llama Request for Coment o RFC.

Hay un sitio para los RFC de internet, entre ellos está el RFC 2616 donde se dice cómo se hacen los pedidos y cómo se obtienen las respuestas.

¿Qué es protocolo HTTPS?

Como la transferencia de información entre el Servidor y una PC va en un formato que si alguien lo interceptara podría ser leído sin problemas, nro. de tarjeta de crédito, etc.. se vió que esto era un problema. Por eso surgió el protocolo HTTPS.

HTTPS (protocolo de Transferencia de Hiper-Texto) es un protocolo que permite establecer una conexión segura entre el servidor y el cliente, que no puede ser interceptada por personas no autorizadas.

En resumidas cuentas, es la versión segura de el HTTP (Hyper Text Transfer Protocol y es seguro por que los datos que viajan están encriptados o cifrados... entre los extremos.

Cifrado Simétrio y Asimétrico

El cifrado simétrico utiliza una clave única que debe compartirse entre las personas que necesitan recibir el mensaje.
El cifrado asimétrico utiliza un par de claves públicas y una clave privada para cifrar y descifrar los mensajes cuando se comunican.

Clave Privada y Publica

Una clave se designa como clave privada y se mantiene secreta.
La otra clave se distribuye a quien lo desee; esta clave es la clave pública.
Cualquier usuario puede cifrar un mensaje utilizando su clave pública, pero sólo usted puede leerlo. Cuando recibe el mensaje, lo descifra utilizando la clave privada


El cifrado se realiza con lo que se conoce como Certificado de Seguridad. El  SSL (Secure Sockets Layer) traducido al español significa Capa de Conexiones Seguras. Es un protocolo que hace uso de certificados digitales para establecer comunicaciones seguras a través de Internet.

El protocolo establece una conexión privada entre el navegador y el servidor web mediante un proceso conocido como ‘SSL Handshake’ (en inglés, apretón de manos).

El protocolo SSL utiliza tres claves para establecer una conexión privada:

  • la clave privada
  • la pública 
  • la de sesión.

Si los datos se cifran con la clave privada, sólo la clave pública puede descifrarlos. Por otro lado, la clave privada es la única que puede descifrar la información cifrada con la clave pública.

Tanto la clave privada como la pública se utilizan durante el SSL Handshake para crear una clave de sesión segura que cifrará todos los datos transmitidos.

Una vez que el certificado SSL ha cifrado con éxito la conexión, aparece un "candado" en la barra de direcciones del navegador del usuario y la dirección URL indica «HTTPS» (en lugar de «HTTP»). De este modo, la persona que visita la página sabe que puede compartir su información con seguridad.


El cifrado es un proceso por el cual se encripta toda la información que se transfiere a través de una página web, de modo que solo se puede leer si se dispone de la clave correspondiente. Esta codificación cifra las comunicaciones con claves de entre 1024-2048 bits de longitud, algo prácticamente indescifrable para un pirata informático corriente.


Veamos los pasos que ocurren al abrir una pagina https.


  1. El navegador web (es decir, el cliente) se conecta con un sitio web protegido por SSL (es decir, el servidor SSL) y solicita que el sitio web se identifique. Esto se conoce como el ‘hola del cliente’ (client hello).
  2. Para identificarse, el sitio web envía una copia de su certificado SSL y la clave pública del sitio web. Esta respuesta se denomina ‘hola del servidor’ (Server hello).
  3. A continuación, el cliente comprueba el certificado con una lista de autoridades de certificación (CA) y se asegura de que ese certificado no ha caducado o ha sido revocado.
  4. Si el certificado es auténtico, el cliente creará una clave de sesión simétrica utilizando la clave pública del sitio web.
  5. A continuación, el servidor SSL descifra la clave de sesión con la clave privada y envía un acuse de recibo cifrado para iniciar la sesión.
  6. Todos los datos transmitidos entre el sitio web y el navegador se cifran con la clave de sesión.

Como podemos ver todo esto es totalmente transparente para el usuario de un navegador... pero lo único que debe observar  es el Candado en la barra del navegador, eso le indica que sus datos no puede ser vistos en el camino.

Los certificados tiene períodos de validez, es por eso por ejemplo, si su equipo no tiene la fecha correcta es posible que tenga dificultades para buscar o acceder a sitios https ya que seguramente los certificados no serán válidos.


2. Servidores WEB

Con "Servidor web" podemos referirnos a hardware o software, o a ambos trabajando juntos.

  1. En cuanto a hardware, un servidor web es una computadora que almacena el software de servidor web, y los archivos que componen un sitio web (por ejemplo, documentos HTML, imágenes, hojas de estilos CSS y archivos JavaScript). Un servidor web -hardware- se conecta a internet y mantiene el intercambio de datos con otros dispositivos conectados a la web.
  2. En cuanto a software, un servidor web tiene muchas partes que controlan cómo los usuarios de la web obtienen acceso a los archivos alojados en el servidor; es decir, mínimamente, un servidor HTTP. Un servidor HTTP es una pieza de software capaz de comprender URLs (direcciones web) y responder con el mismo protocolo HTTP al navegador  para obtener las páginas web. Un servidor HTTP puede ser accedido a través de los nombres de dominio de los sitios web que aloja, y entrega el contenido de esos sitios web alojados al dispositivo del usuario final.
Al nivel más básico, cuando un navegador necesita un archivo que está almacenado en un servidor web, el navegador requerirá el archivo al servidor mediante el protocolo HTTP. Cuando la petición alcanza al servidor web correcto (hardware), el servidor HTTP (software) acepta la solicitud, encuentra el documento requerido y lo envía de regreso al navegador, también a través de HTTP. (Si el servidor no encuentra el documento requerido, devuelve una respuesta 404 en su lugar.)

    Para publicar un sitio web, necesitarás un servidor web estático o dinámico.

    Un servidor web estático, o pila, consiste en una computadora (hardware) con un servidor HTTP (software). Llamamos a "estático" a este servidor porque envía los archivos que aloja "tal como se encuentran" (sin modificarlos) a tu navegador.

    Un servidor web dinámico consiste en un servidor web estático con software adicional, habitualmente una aplicación servidor y una base de datos. Llamamos "dinámico" a este servidor porque la aplicación servidor actualiza los archivos alojados, antes de enviar el contenido a tu navegador mediante el servidor HTTP.

    Por ejemplo, para producir las páginas web que finalmente ves en tu navegador, la aplicación servidor podría llenar una plantilla HTML con contenido obtenido de una base de datos. 

    Sitios como  Wikipedia tienen miles de páginas web, que no son realmente archivos HTML. Típicamente, este tipo de sitios se componen de unas pocas plantillas HTML y una gigantesca base de datos, en vez de miles de documentos HTML estáticos. Esto hace mas fácil el mantenimiento y entrega del contenido.

    Recapitulando: para obtener una página web, como ya dijimos, tu navegador envía una solicitud al servidor web, que procede a buscar el archivo solicitado en su propio espacio de almacenamiento. Encontrado el archivo, el servidor lo lee, lo procesa según sea necesario y lo envía al navegador. Veamos esos pasos con más detalle.

    Alojamiento de archivos (Hosting)

    Un servidor web primero debe almacenar los archivos del sitio web, es decir, todos los documentos HTML y sus medios relacionados, incluidas las imágenes, las hojas de estilo CSS, los archivos JavaScript, las fuentes y videos.

    Técnicamente, puede alojar todos esos archivos en su propia computadora, pero es mucho más conveniente almacenarlos en un servidor web dedicado que:

    • siempre está funcionando.
    • siempre está conectado a internet.
    • tiene la misma dirección IP todo el tiempo.
    • es mantenido por un proveedor externo.

    Por todas estas razones, encontrar un buen proveedor de alojamiento es una parte clave del desarrollo de su sitio web. Investigue a través de los diversos servicios que ofrecen las compañías y elija uno que se ajuste a sus necesidades y a su presupuesto (los servicios van desde los gratuitos hasta los miles de dólares al mes).

    Observar que el acceso a Internet del Servidor Web, NO debería ser el mismo que tiene un usuario doméstico en un conexión de Internet en la casa.

    Comunicación a través de HTTP

    En segundo lugar, un servidor web brinda soporte para HTTP (Hypertext Transfer Protocol ó Protocolo de Transferencia de Hipertexto). Como su nombre lo indica, HTTP especifica cómo transferir hypertext (es decir, documentos web vinculados) entre dos computadoras.

    Un protocolo es un conjunto de reglas para la comunicación entre dos computadoras. HTTP es un protocolo textual, sin estado.

    Textual

    Todos los comandos son de texto plano y legible para ser leído por humanos.

    Sin estado

    Ni el servidor, ni el cliente recuerdan las comunicaciones anteriores. Por ejemplo, al confiar solo en HTTP, un servidor no puede recordar la contraseña que ingresó ni el paso que está realizando en una transacción. Necesita un servidor de aplicaciones para tareas como esa. Esto no es parte del tema que estamos tratando.

    HTTP proporciona reglas claras sobre cómo se comunican un cliente y un servidor:

    • Solo los clientes pueden hacer solicitudes HTTP a los servidores. 
    • Los servidores solo pueden responder a la solicitud HTTP de un cliente.
    • Al solicitar un archivo a través de HTTP, los clientes deben proporcionar la URL del archivo.
    • El servidor web debe responder a todas las solicitudes HTTP, al menos con un mensaje de error.

    En un servidor web, el servidor HTTP es responsable de procesar y responder las solicitudes entrantes.

    1. Al recibir una solicitud, un servidor HTTP primero verifica si la URL solicitada coincide con un archivo existente.
    2. Si es así, el servidor web envía el contenido del archivo de nuevo al navegador. Si no, un servidor de aplicaciones construye el archivo necesario.
    3. Si ninguno de los procesos es posible, el servidor web devuelve un mensaje de error al navegador, generalmente "404 Not Found". ( Ese error es tan común que muchos diseñadores web pasan bastante tiempo diseñando páginas de error 404.)

    Contenido Estático vs. Dinámico

    En términos generales, un servidor puede entregar contenido estático o dinámico. "Estático" significa "servido como está". Los sitios web estáticos son los más fáciles de configurar, por lo que le sugerimos que convierta su primer sitio en un sitio estático.

    "Dinámico" significa que el servidor procesa el contenido o incluso lo genera desde una base de datos. Esta solución proporciona más flexibilidad, pero se vuelve más difícil de manejar, lo que hace que sea mucho más complejo desarrollar el sitio web.

    Tomemos por ejemplo la página que estás leyendo en este momento. En el servidor web que lo aloja, hay un servidor de aplicaciones que toma el contenido del artículo de una base de datos, lo formatea, lo coloca dentro de algunas plantillas HTML y le envía los resultados.

    Hay tantos servidores de aplicaciones que es resulta difícil sugerir uno en particular. Algunos servidores de aplicaciones se adaptan a categorías específicas de sitios web como blogs, wikis o tiendas electrónicas; otros, llamados CMS (Content Management Systems ó Sistemas de Gestión de Contenidos), son más genéricos.

    Si está desarrollando un sitio web dinámico, tómese el tiempo para elegir una herramienta que se adapte a sus necesidades. A menos que desee aprender algo de programación de servidores web (¡es un área emocionante!), no necesita crear su propio servidor de aplicaciones.

    https://developer.mozilla.org/es/docs/learn/common_questions/what_is_a_web_server

    2.1. Métodos de petición HTTP (request)

    HTTP define un conjunto de métodos de petición para indicar la acción que se desea realizar para un recurso determinado. Cada uno de ellos implementan una semántica diferente, pero algunas características similares son compartidas por un grupo de ellos: ej. un request method puede ser safe, idempotent (en-US), o cacheable.

    GET
        El método GET solicita una representación de un recurso específico. Las peticiones que usan el método GET sólo deben recuperar datos.

    HEAD
        El método HEAD pide una respuesta idéntica a la de una petición GET, pero sin el cuerpo de la respuesta.

    POST
        El método POST se utiliza para enviar una entidad a un recurso en específico, causando a menudo un cambio en el estado o efectos secundarios en el servidor.

    PUT
        El modo PUT reemplaza todas las representaciones actuales del recurso de destino con la carga útil de la petición.

    DELETE
        El método DELETE borra un recurso en específico.

    CONNECT
        El método CONNECT establece un túnel hacia el servidor identificado por el recurso.

    OPTIONS
        El método OPTIONS es utilizado para describir las opciones de comunicación para el recurso de destino.

    TRACE
        El método TRACE realiza una prueba de bucle de retorno de mensaje a lo largo de la ruta al recurso de destino.

    PATCH
        El método PATCH es utilizado para aplicar modificaciones parciales a un recurso.

    2.2. Códigos de estado de respuesta HTTP

    Los códigos de estado de respuesta HTTP indican si se ha completado satisfactoriamente una solicitud HTTP específica. Las respuestas se agrupan en cinco clases:

        Respuestas informativas (100–199),
        Respuestas satisfactorias (200–299),
        Redirecciones (300–399),
        Errores de los clientes (400–499),
        y errores de los servidores (500–599).

    Los códigos de estado se definen en la sección 10 de RFC 2616. Puedes obtener las especificaciones actualizadas en RFC 7231.   

        100 Continue
        101 Switching Protocols
        103 Early Hints (Experimental)
        200 OK
        201 Created
        202 Accepted
        203 Non-Authoritative Information
        204 No Content
        205 Reset Content
        206 Partial Content
        300 Multiple Choices
        301 Moved Permanently
        302 Found
        303 See Other
        304 Not Modified
        307 Temporary Redirect
        308 Permanent Redirect
        400 Bad Request
        401 Unauthorized
        402 Payment Required
        403 Forbidden
        404 Not Found
        405 Method Not Allowed
        406 Not Acceptable
        407 Proxy Authentication Required
        408 Request Timeout
        409 Conflict
        410 Gone
        411 Length Required
        412 Precondition Failed
        413 Payload Too Large
        414 URI Too Long
        415 Unsupported Media Type
        416 Range Not Satisfiable
        417 Expectation Failed
        418 I'm a teapot
        422 Unprocessable Entity
        425 Too Early
        426 Upgrade Required
        428 Precondition Required
        429 Too Many Requests
        431 Request Header Fields Too Large
        451 Unavailable For Legal Reasons
        500 Internal Server Error
        501 Not Implemented
        502 Bad Gateway
        503 Service Unavailable
        504 Gateway Timeout
        505 HTTP Version Not Supported
        506 Variant Also Negotiates
        507 Insufficient Storage
        508 Loop Detected
        510 Not Extended
        511 Network Authentication Required



    2.3. servidor http python

    #Python 3 server example
    from http.server import BaseHTTPRequestHandler, HTTPServer

    hostName = "localhost"
    serverPort = 8080

    class MyServer(BaseHTTPRequestHandler):
    def do_GET(self):
    self.send_response(200)
    self.send_header("Content-type", "text/html")
    self.end_headers()
    self.wfile.write(bytes("<html><head><title>REDES 2</title></head>", "utf-8"))
    self.wfile.write(bytes("<p>Request: %s</p>" % self.path, "utf-8"))
    self.wfile.write(bytes("<body>", "utf-8"))
    self.wfile.write(bytes("<p>Este es un servidor web de ejemplo</p>", "utf-8"))
    self.wfile.write(bytes("</body></html>", "utf-8"))

    if __name__ == "__main__":
    webServer = HTTPServer((hostName, serverPort), MyServer)
    print("Server started http://%s:%s" % (hostName, serverPort))

    try:
    webServer.serve_forever()
    except KeyboardInterrupt:
    pass

    webServer.server_close()
    print("Server stopped.")

    3. Generalidades de Clientes

    ¿Qué es un Navegador o Browser?


    Como navegador (o browser, en inglés) se designa en informática a la aplicación o programa que permite acceder a páginas web y navegar por una red informática, principalmente Internet, ya sea desde computadoras personales o dispositivos móviles.

    Como tal, un navegador es un software con interfaz gráfica que se comunica, a través del protocolo HTTP (aunque hoy en día existen otros tipos), con un servidor web, al cual le solicita un archivo en código HTML, que será interpretado por el navegador para ser mostrado en pantalla al usuario.

    https://1.bp.blogspot.com/-6S1suHswp5I/XJonRTLhwLI/AAAAAAAAZ_U/vkEnphjIe3QwR5YYHS3xND1ocpDnr11gACLcBGAs/s1600/navegadores.png

    Ventanas Privadas (Firefox) ó Ventana de Incógnito (Chrome)

    El modo incógnito (o navegación privada) es una función presente en la mayoría de navegadores de sistemas operativos de sobremesa y móviles que permite navegar por internet de forma anónima; sin embargo, no impide que otras fuentes vean tu actividad de navegación, por ejemplo:

        • Tu proveedor de servicios de Internet.
        • Tu empresa (si utilizas un ordenador del trabajo).
        • Los sitios web que visitas.

    Guía rápida para usar Chrome en tu Telcel - holatelcel.com
    En este modo de Navegación no se registran las páginas que visitas en el Historial, ni se guardan las cookies. Es por ello que mucha gente cree que sólo sirve para ver páginas para adultos o similares, pero lo cierto es que tiene otros usos muy interesantes...

    3.1. Navegadores

    Así como vimos que había varias alternativas de procesadores o planilla de cálculo, también hay varios navegadores.

    Algunos de los mas conocidos son:

    • Google Chrome
    • Mozilla Firefox
    • Safari
    • Microsoft Edge
    • Opera
    • Internet Explorer

    De hecho creo que Uds. conocen muy bien al menos un par.

    Pero hay muchos mas...

    1. Maxthon
    2. Unknown
    3. Chromium
    4. Vivaldi
    5. Baidu
    6. Amigo
    7. Sleipnir
    8. Samsung Browser
    9. Opera Mini
    10. Opera Mobile
    11. Cheetah
    12. Swing
    13. Konqueror
    14. Qihoo 360
    15. SRWare Iron
    16. Yunhai
    17. SeaMonkey
    18. Android Browser
    19. CoolNovo
    20. Silk
    21. Lunascape
    22. Smooz
    23. Internet Explorer Mobile
    24. Playstation
    25. QuickLook
    26. BlackBerry
    27. Nokia Xpress
    28. Baidu Spark
    29. Chrome
    30. Firefox
    31. Edge
    32. Internet Explorer
    33. Safari
    34. QQ
    35. Sogou Explorer
    36. Opera
    37. Yandex
    38. UC Browser
    39. Tor
    40. Browzar
    41. Avast Secure Browser
    42. SeaMonkey.
    43. Green Brow

    Ver lista de Ranking uso de Navegadores en : https://netmarketshare.com/

    Como podemos ver hay unos cuantos, como mencionamos los navegadores interpretan un contenido HTML, y hay una organización que elabora un estándar y está a cargo del World Wide Web Consortium (W3C) o Consorcio WWW, organización dedicada a la estandarización de casi todas las tecnologías ligadas a la web, sobre todo en lo referente a su escritura e interpretación.

    En algún momento Internet Explorer era lider en el mundo, ya que su sistema Operativo Windows lo traía incorporado; sus desarrolladores comenzaron a ofrecer características por fuera de los estándares que afectaron la compatibilidad de los sitios web, luego que perdió el liderazgo, debieron retomar la observancia de la estandarización. Hoy día está prácticamente resuelto el problema aunque es la que justificación de porqué algunas páginas solo funcionen con Intenet Exporer, aunque es cada vez menos frecuente.

    ¿Qué es HTML?

    Mientras el protocolo de comunicación se hace con lo que establece el HTTP, el contenido que se intercambia, no son archivos de texto, música, si no un tipo de archivo que tiene un tipo de formato particular que es HTML.

    HTML, siglas en inglés de HyperText Markup Language (‘lenguaje de marcas de hipertexto’), hace referencia al lenguaje de marcado para la elaboración de páginas web.

    https://henryegloff.com/media/how-to-code-a-basic-webpage-using-html-and-css-7.jpg

    ¿Con qué se abre un archivo HTML?

    Se puede abrir en principio con un navegador, pero hoy en día hasta un procesador de texto permite abrir ese tipo de archivos.

    Si guardo una página de www.google.com  desde un navegador ser vería algo como:

    Vemos que la única diferencia con un procesador de texto es que aparece: "Página web, completa" esto es porque el contenido en realidad incluye varios archivos, texto, imágenes, etc; por lo que me generará el archivo:

    Google.html y un directorio con todo el contenido; que almacenado en el disco se vería algo como lo siguiente:

    Conclusión un navegador no es ni mas ni menos que una aplicación y tiene su formato particular con extensión .html, solo que se comunica con un servidor y lo hace mediante una norma o protocolo llamado http.

    3.2. Navegadores (Continuación)

    Un Navegador es un Programa o Software.

    Un navegador como todo programa, se instala en el equipo del Usuario. La mayoría de las personas creen que Chrome es lo mismo que  Navegador , en realidad el Chrome, es un navegador de la empresa Google y es uno de los tantos Navegadores, pero no es el único, si es el mas importante.

    Partes de un Navegador.

     Figura 1

     

    Figura 2

    Teclas Rápidas: ctrl+H , ctrl+shift+T, ctrl+h

    Barra de direcciones multiuso.

    En la Barra de direcciones, escribe la dirección web de la página a la que deseas  ir (URL) o el nombre de aquello que quieres buscar en Internet, esto último es una integración común en los Navegadores.

    Esta integración consigue:

    • Hacer que el usuario NO sepa cual es la dirección de la página.
    • Si NO existe esta integración de búsqueda en la barra de direcciones el usuario NO sabe como ir al sitio.
    • La búsqueda que se plantea en la barra de direcciones está asociada con el Motor de Búsqueda o Buscador y NO con la página.

    Veamos unas imágenes que aclaran este concepto.

      Figura 1

    Vemos en la Figura 1, que se usa la página de Google.com y en la misma, en el cuadro de búsquedas se escribe> "perro", aquí se usa el Motor búsquedas de Google para buscar.

     Figura 2

    En la figura 2, vemos que al escribir en la barra de direcciones "perro" el motor de búsqueda que está configurado es Qwant, pese a que la página es de Google.com, la búsqueda se realiza en con el buscador de Qwant y el resultado es:

    Figura 3

    Vemos que la Página de Google no tiene nada que ver con esta búsqueda, esta alta integración suele hacer que la mayoría no sepa la diferencia. 

    4. URL

    ¿Qué es la URL?

    Un localizador de recursos uniforme (más conocido por las siglas URL, del inglés Uniform Resource Locator)​ es un identificador común para un recurso (Uniform Resource Identifier, URI).

    Como tal, el URL es la dirección específica que se asigna a cada uno de los recursos disponibles en la red con la finalidad de que estos puedan ser localizados o identificados. 

    Así, hay un URL para cada uno de los recursos 

    • páginas
    • sitios
    • documentos
    • archivos
    • carpeta

    que hay en la World Wide Web.

    Los Navegadores necesitan el URL, por que eso les indica qué recurso deben obtener.

    Ejemplo de URL típico puede ser del tipo:

        http://es.wikipedia.org:80/wiki/Special:Search?search=tren&go=Go

    Donde:

        http es el protocolo.
        es.wikipedia.org es el servidor
        80 es el número de puerto de red en el servidor (Siendo 80 el valor por defecto para el protocolo HTTP, esta porción puede ser omitida por completo).
        /wiki/Special:Search es la ruta de recurso.
        ?search=tren&go=Go es la cadena de búsqueda (un parámetro opcional).

    En la sección de protocolos pueden existir varios, como ser:

    HTTP - recursos Hypertext Transfer Protocol (HTTP).
    HTTPS - HTTP sobre Secure Sockets Layer (SSL).
    FTP - File Transfer Protocol.
    mailto - direcciones de correo electrónico.
    LDAP - búsquedas Lightweight Directory Access Protocol (LDAP).
    File - recursos disponibles en el sistema local o en una red local.
    News - grupos de noticias Usenet (newsgroup).
    Gopher - el protocolo Gopher (en desuso).
    Telnet - el protocolo Telnet.

    Los dos primeros son los mas conocidos, HTTP y HTTPS del cual todavía no hicimos referencia.

    ¿Dónde va la URL?

    La barra de direcciones es una característica del navegador web que muestra el actual URL o URI, y acepta una dirección URL tecleada que lleva al usuario al sitio web elegido.

    Muchas barras de direcciones ofrecen una lista de sugerencias mientras se está escribiendo la dirección. Esta función de autocompletado basa sus sugerencias en el historial de navegación. Algunos navegadores tienen atajos de teclado para autocompletar una dirección.

    La barra de direcciones y el servicio de búsqueda en la mayoría de los navegadores están integrados.

    Como existe la función de autocompletado y se combina con la búsqueda esto suele ser transparente para la mayoría de los usuarios y desconocen qué es un URL, y pese a que saben cuál sería el URL recurren a un buscador como Google, para encontrarlo (ley del menor esfuerzo). Sería como recurrir a una agenda para que les diga cuál es su número de teléfono.

    5. Motores de Búsqueda

    ¿Qué son los motores de búsqueda en Internet?

    Un motor de búsqueda o buscador es un sistema informático que busca archivos almacenados en servidores web. Como hay mucho contenido los buscadores estarán compuestos por muchos equipos que permiten almacenar toda la información que van organizando.

    Catalogo cartaceo

    Los motores de búsqueda surgieron a principios de los ´90 debido a la necesidad de organizar, clasificar y gestionar la información de la Internet ya que cada vez más surgían nuevos sitios web llenos de contenido. En ese momento dejó de ser un servicio SOLO para el ámbito académico y de investigación y comenzó a ser también comercial.

    Estos servidores, la mayoría de las veces NO GUARDAN TODO el contenido (guardan solo una parte), guardan dónde se encuentra ese contenido y permite buscar de acuerdo a un criterio llamado palabras claves.

    Las claves son las palabras que usamos para buscar

    Algunos motores de búsqueda son:

    1. Google
    2. Yahoo!
    3. Bing
    4. Qwant 
    5. Ask
    6. AOL
    7. Go
    8. Live
    9. Snap
    10. AURA!
    11. Duck duck go
    12. MSN Search
    13. Yippi
    14. Boing
    15. Dumbfine
    16. GoYams
    17. MetaGlossary
    18. PlanetSearch
    19. SearchTheWeb2
    20. Terra
    21. Web 2.0

    La información es Dinero

    El fin que persiguen muchos de los motores de búsquedas es netamente económico. Ud. se preguntará ¿qué me puede sacar un Motor de búsqueda? Plantemos un ejemplo, casi cotidiano.

    • Ud. abre un navegador, y tiene una sesión iniciada.
    • El la página de Google y busca zapatillas.
    • Luego abre el Instagram y verá publicaciones de zapatillas.

    ¿Qué obtuvo Google en todo esto?

    Como está iniciada la sesión sabe que Ud. quiere una zapatilla, también sabe la zona en la que se encuentra, ya que en algún momento Ud. permitió comunicar su ubicación. Ahora cuando ingrese a Instagram, le van a aparecer algunas ofertas de zapatillas de una casa de deportes de Posadas por ejemplo, que queda cerca de su ubicación, este es un ejemplo sencillo de que se puede obtener un beneficio económico con un buscador.

    No todos los motores de búsqueda tienen el mismo propósito, veremos algunos:

    Observación:

    Estamos hablando de Motores de búsqueda y mostramos URL de sitios de internet? Bueno esto no está del todos mal, por defecto es así , pero podemos configurar el navegador para que independientemente de la página que elijamos, use un motor de búsqueda específico.

    Ejemplo de Firefox, en la preferencias:

    Vemos que la pagina de inicio es Startpage pero el motor de búsqueda Duckduckgo.

      Figura 1

    Figura 2

    Ejemplo con motor de búsqueda Qwant:

    Figura 3

    Otro Ejemplo para el Chrome:

    La página de inicio se abre en duckduckgo.com pero el motor de búsqueda es Yahoo.

    Figura 4

    Figura 5

    Privacidad o no privacidad … esa es la cuestión!


    Tener privacidad significa tener una zona (metafórica, no necesariamente geográfica) libre de observadores. 

    Las ventajas de la privacidad pueden dividirse en dos: 

    1. las privadas 
    2. las políticas

     aunque ambas están relacionadas.
    En el ambiente laboral, al ayudar a preservar secretos corporativos, la privacidad protege la competitividad empresarial. También protege a las personas de la discriminación

    Por ejemplo, controlar la información que compartimos impide que cualquier empresa pueda aprovechar información que, sin ser muchas veces relevante para el desempeño profesional, podría influir en la decisión sobre un contrato y en las condiciones del mismo.

    La Red está controlada. De una manera o de otra. Las empresas proveedoras de servicios "observan" nuestra actividad, y del resto (censurar contenidos, cerrar páginas web, etc.) ya se encargan los “lobbys” de la industria audiovisual con la connivencia de los gobiernos de todos los países.
    Muchas empresas en Internet, ofrecen gratis sus servicios a cambio de “nada”. Para alguien poco ducho en la materia, ese “nada” significa literalmente, nada.

    Uno de estos expertos es el reportero Glenn Greenwald, que dio una conferencia en TED en donde habla sobre el caso de Snowden y sobre por qué debería importarnos la privacidad aunque no tengamos nada que esconder. 

    Los humanos somos seres sociales, pero privados; y justo eso es lo que hace que funcionemos en conjunto, como sociedad.

    (activar sub-títulos en Spanish, duración 20 minutos)

    Ranking de Motores de Búsqueda.

    Ranking de Browsers.

    Acceso a la Información o desinformación.

    Miremos siguientes imágenes.

        

    Creo que si pudiéramos elegir, la mayoría elegiría las mismas imágenes, pero TODO es parte de la realidad. 

    El punto que quiero resaltar que que mas allá de los gustos personales, todo forma parte de una realidad, nos guste o no nos guste y no está mal, pero lo que si estaría mal es asumir que solo hay una realidad, la que nos gusta.

    Imaginemos que tenemos un diario, que nos conoce, sabe lo que nos gusta y lo que no nos gusta, sabe con que partido político simpatizamos, que gustos sexuales tenemos, que tipo de comida nos gusta, deportes, etc.

    Si ese diario nos mostrara SOLO lo que nos gusta o nos interesa, en realidad nos estaría mostrando la realidad que queremos ver, la que nos gusta, las que nos hace sentir bien. Esto no está mal si uno sabe o quiere que sea así ( ver observación) 

    Bueno, la mayoría de la gente no se da cuenta de esto. Veamos un ejemplo.

    Figura 7

    Como vemos el resultado de la búsqueda de cada motor no es la misma y las diferencias varían dependiendo de si uno tiene una sesión iniciada.

     Figura 8

    Observación: 

    Si la idea es comprar zapatillas, puede no esté mal esto, no me interesa unas zapatillas Nike que se vendan en la India,  pero si uno estaría queriendo informarse respecto de otro tema.. esto puede que no sea lo mejor.

    6. Busquedas Avanzadas en Navegadores

    Si ante una pregunta, alguien responde: la respuesta que buscas está en uno de esos libros...

    Cómo debemos desinfectar los libros durante la pandemia de Coronavirus

    Figura 1

    Creo que podemos coincidir que no ayuda mucho esa respuesta, Pero si la respuesta fuera: está en el capitulo 3 de este libro:

    El juego del libro rojo | Wiki Creepypasta | Fandom

    Figura 2

    Si sería mucho mas útil, llevaría menos tiempo encontrar la respuesta.

    Bien algo igual sucede con los motores de búsquedas. Si planteamos preguntas mas refinadas, mas sintonizadas, podemos obtener menos cantidad de paginas para buscar, veamos un ejemplo.

    Figura 3

    Figura 4

    Podemos ver que en la figura 3 tenemos 128000000 ocurrencias y en la figura 4, tenemos 480!!! Esto indica que la cantidad de ocurrencias en la Figura 4 es 266666 veces menor!!!

    Es un número importante!

    Bien veamos como realizar esto en con un motor de búsqueda. Como el Google es el mas usado voy a hacer pruebas sobre este motor, pero tengan en cuenta que los demás motores de búsquedas son similares.

    Búsqueda avanzada desde la interfaz gráfica.

    Figura 5

    Aquí podremos encontrar ajustes finos de las búsquedas. También están otros Filtros mas comunes.

    Figura 6

    Búsqueda avanzada desde la barra de búsqueda

    Vamos a mencionar solo algunas formas buscar de manera avanzada. 

    SEO es la sigla para Search Engine Optimization.

    MOZ como un conjunto de herramientas que al ser bien utilizadas pueden mejorar los resultados de tu negocio

    Búsqueda Entrecomillada: Casi todo el mundo conoce la utilidad de la búsqueda con comillas: “marketing online inteligente”. Para aquellos que no la conozcan la explico brevemente; al introducir una búsqueda entrecomillada en Google los resultados que nos muestra el buscador son los de aquellas páginas web que contienen la frase exacta que hemos puesto entrecomillada.

    Búsqueda Dentro de Una Web: Para realizar una búsqueda dentro de una web el comando que se utiliza es site xyz.url.com. Si ponemos site sin las www en Google, el buscador te ofrecerá todos los resultados que hay en una web incluyendo sus subdominios. Si ponemos la misma búsqueda pero con las 3w’s, entonces el buscador nos excluirá los subdominios. Para buscar un término o una frase exacta dentro de un dominio lo único que tenemos que hacer es realizar la búsqueda site e incluir la frase que queramos a continuación, pudiendo ser ésta también entrecomillada.


    Búsqueda Definida: Cuando queremos que Google nos defina un término, la manera de hacerlo es añadir la expresión define:yahoo. He elegido la palabra Yahoo por puro vicio, ya que remontándose al libro de Jonathan Swift, Los Viajes de Gulliver, la definición que Google nos ofrece al buscar Yahoo es la de una persona ruidosa, violenta y grosera. Lo cual me parece bastante gracioso y un tanto irónico.

    Búsqueda por tipo de archivo: Nos filtra búsquedas por tipo de archivo. En mi época de investigador, este tipo de búsqueda me resultó extraordinariamente útil en combinación con la búsqueda site y el entrecomillado. Ej.: búsqueda de un PDF que hable de la deuda pública en la zona Euro en la web del Banco de España.

    El comando (+): Al añadir un más (+) justo antes de una búsqueda estás diciéndole a Google que te muestre exactamente ese término excluyendo sinónimos, acrónimos y demás. Un ejemplo de a lo que me refiero lo encuentras cuando buscas en Google términos como  MJ (Google te devolverá Michael Jordan), u OT (en España Google nos devuelve Operación triunfo). Incluyendo el +MJ estás forzando a Google a que sólo te muestre resultados que contengan MJ sin que el realice ninguna interpretación de lo que tu quieres decir con esa búsqueda.

    El comando (-): Funciona exactamente igual que el comando (+) pero en esta ocasión lo hace a la inversa. En la práctica resulta muy útil para filtrar resultados de búsqueda que no quieres que contengan determinados términos.

    El comando (|): Esta barra horizontal viene a significar esto “o” lo otro.  Resulta útil cuando estás mirando por múltiples términos dentro de un determinado conjunto de datos.

    El comando (*): El asterisco funciona como un comodín. Cuando lo pones delante de una palabra y dentro de una frase le estás diciendo a Google que busque la frase exacta que le pides pero que puede intercambiar la palabra del asterisco por otra.

    Búsqueda Relacionada: El atributo related sirve para obtener resultados de páginas web similares a la que incluyamos. Ejemplo de búsqueda related de la web SEOMOZ. Aunque no es el atributo que más me gusta si que tiene utilidad en ciertas ocasiones para saber que tipo de webs asocia Google como similares o parecidas a la tuya.

    Búsqueda del Cache: La búsqueda cache es la copia de seguridad que los robots de Google guardan de todas las páginas webs que han sido indexadas en algún momento por los robots de búsqueda. Para realizar la búsqueda de la cache, igual que en anteriores ocasiones, lo único que tenemos que hacer es incluir en la barra de navagación cache:url.

    Búsqueda Info: El atributo info sirve para obtener mucha de la información que vimos más arriba pero de un solo vistazo, pues Google nos agrupa entre 3 y 5 links donde podemos encontrar (el caché de navegación de la web, páginas similares(related:),  páginas que enlazan a esa web (link:), las páginas indexadas del sitio (site:) y páginas web que contengan la URL introducida (“URL”). Búsqueda info de la Wikipedia.

    Búsqueda de Links: Gracias a esta búsqueda podemos descubrir cuáles son los links que apuntan hacia una web y le está dando más autoridad. (Ej. Links que apuntan hacia SEOMOZ). Esta búsqueda no resulta muy representativa cuando estamos utilizando otras herramientas más avanzadas como Google Webmaster Tools pero aún así es interesante cuando queremos analizar los links externos más importantes que apuntan hacia una página web de un tamaño considerable.

    Búsqueda Inurl: Este tipo de búsqueda nos sirve para buscar palabras o expresiones en las URL’s de páginas webs. Aquí he escogido dos buenos ejemplos: URL’s con la letra ñ = 603.000. URL’s con las 3W’s: 25.200 millones de URL’s.

    Búsqueda Allintitle: Funciona igual que la búsqueda Inurl pero en esta ocasión la búsqueda sólo nos muestra aquellas webs que tienen la palabra o palabras clave en el título de alguna de sus páginas. Para refinar al máximo una búsqueda es recomendable hacerlo con las comillas incluidas. Ej. páginas que contienen el término “tienda online”.

    Búsqueda Allintext: Funciona igual que la búsqueda Allintitle pero en esta ocasión la búsqueda sólo nos muestra aquellas webs que tienen la palabra o palabras clave en el cuerpo de texto de alguna de sus páginas.

    Búsqueda Allinanchor: Funciona igual que la búsqueda Allintext pero en esta ocasión la búsqueda sólo nos muestra aquellas webs que tienen la palabra o palabras clave en el ancho de texto de los enlaces de sus páginas.

    Buscadores Académicos.

    Academia.edu


    Es uno de los buscadores académicos más conocidos. Esta base de datos contiene, en primera instancia, publicaciones académicas en castellano que se relacionan con el área de las humanidades y las ciencias sociales. A su vez, todas las opciones de la web están escritas en castellano, lo que permite que sea de gran utilidad para los académicos de España y Latinoamérica.

    Google Académico


    Esta es la versión en castellano del famoso Google Scholar. Con su potente motor permite llevar a cabo búsquedas mucho más específicas que el general buscador Google. A su vez, permite ver en qué y en cuántas publicaciones aparece citado el artículo, el libro o la tesis que se nos presenta como relevante, lo que posibilita hacer un seguimiento de dicha línea de investigación.

    SciELO


    Este buscador fue creado originalmente para responder a la falta de organización y distribución que se hacía presente en los contenidos académicos de países tercermundistas o carenciados del Caribe o Latinoamérica. No obstante, en la actualidad se constituye como una red colaborativa en la que se puede observar que esas fronteras han sido traspasadas. Tiene web en portugués, en inglés y en castellano, y es una de las más conocidas.

    Redalyc


    Esta red se constituye como la hemeroteca virtual, académica y científica en castellano más conocida. Su nombre se compone por las siglas de la Red de Revistas Científicas de América Latina y el Caribe, España y Portugal, y es la opción perfecta para las personas que necesiten utilizar publicaciones académicas en español. Es un completo buscador que permite ver los artículos sin salir de la web, aunque también permite la descarga.

    World Wide Science


    Este es uno de los buscadores académicos más completos. Además cuenta con una interfaz estética que es muy intuitiva y visual. Las palabras buscadas pueden ser traducidas de manera automática y en tiempo real, lo que permite encontrar resultados en diversos idiomas. Es de gran utilidad para acceder a la multitud de publicaciones especializadas que han sido producidas en todo el mundo.

    IEEE

    https://www.ieee.org/publications/index.html

    7. Cookies

    Cookies

    Las cookies nacieron hace años en el mundo de Internet.

    Su existencia está asociada directamente a la red. Su nombre proviene de la definición propia de una cookie informática.

    En realidad, son pequeños trozos que la página web instala en nuestro equipo.

    Es decir, que cuando nosotros accedemos a una página web, esta envía información a Chrome, Firefox, Internet Explorer, Opera... y esta información se almacena en la memoria del mismo. La idea es que la página web pueda comprobar esa información en el futuro y utilizarla.
    Las cookies son realmente útiles. Cuando iniciamos sesión en Facebook, Twitter o en cualquier otro servicio web, cerramos la página, y al cabo de un tiempo la volvemos a abrir, nos daremos cuenta de que la sesión continúa iniciada y no tenemos que volver a introducir nuestros nombres de usuarios y contraseñas.


    Sin embargo, también hay muchos más.

    Existen las cookies publicitarias, que almacenan información sobre los lugares que hemos visitado, y que permite que se nos ofrezca una publicidad acorde a lo que nos interesa. Como se puede observar, este tipo de cookies ya es más intrusivo que las anteriores. Mientras que las de antes buscaban principalmente el beneficio del usuario, estas ya buscan el beneficio de terceros.

     

    Tipos de cookies:


    – Cookies de sesión: se eliminan al cerrar el navegador. Solamente hacen su función mientras dure la sesión de navegación.

    – Cookies persistentes: no se borran al cerrar la sesión de navegación. Parten con una duración o fecha de expiración determinadas en la que se borran o sustituyen por una nueva.

    – Súper-cookies: no van asociadas a un nombre de dominio en concreto si no sólo a la extensión de domino. Es decir se asocian sólo a la extensión «.com» o «.es» y no a la página que visitemos. Son bloqueadas por los navegadores pues permitirían seguir rastros independientemente del dominio o página web que visitemos.

    – Cookies zombies: son cookies que se regeneran usando Javascript o HTML5 aunque las borremos.

    – Cookie Flash (objeto local compartido): del inglés Local Shared Object (LSO). Consiste en un archivo a modo de cookie que implementan las páginas en Flash.

    8. Red TOR

    Red TOR

    El nombre TOR son las siglas de 'The Onion Router', el router Cebolla), y es posiblemente la principal y más conocida Darknet de Internet.

    El objetivo de este proyecto es el de crear una red de comunicaciones distribuida y superpuesta al Internet convencional. 

    Esta Web no es  indexable por buscadores convencionales, lo que quiere decir que no puedes encontrar sus páginas en Google, Bing y demás buscadores.

    Lo de cebolla viene por que se produce un cifrado por capas, como la cebolla. Alguien podría decir: ¿Pero si usamos https está cifrado? la respuesta es que sí está filtrado... pero el contenido.

    Imaginemos una carta en la que el contenido no lo podemos leer, pero si vemos el destinatario y el remitente.

    Ahí es donde entra el Onion Routing, que consiste en enviar los datos por un camino no directo utilizando diferentes nodos.

    Primero, el ordenador A, que quiere enviar el mensaje a B, calcula una ruta más o menos aleatoria al destino pasando por varios nodos intermedios. Después, consigue las claves públicas de todos ellos usando un directorio de nodos.

    Usando cifrado asimétrico, el ordenador A cifra el mensaje como una cebolla: por capas.

    Primero cifrará el mensaje con la clave pública del último nodo de la ruta, para que sólo él lo pueda descifrar. Además del mensaje, incluye (también cifradas) instrucciones para llegar al destino, B. Todo este paquete, junto con las instrucciones para llegar al último nodo de la lista, se cifra de nuevo para que sólo lo pueda descifrar el penúltimo nodo de la ruta.

    Los equipos que aquí aparecen como Routers, son en realidad equipos de la red Tor, si Uds. usan la red Tor, su equipo podría ser uno de ellos. :-).

    Finalmente se vería algo como lo siguiente.

    Este método proporciona muchísima más seguridad y privacidad, ya que sólo el primero y el último nodo saben de dónde viene o a dónde va el mensaje. Pero tampoco es un método infalible, ya que analizando los tiempos a los que se reciben y envían los paquetes en cada nodo se podría llegar a saber, con mucho tiempo y dedicación, qué ordenadores se están comunicando.

    Además, de cara al usuario convencional está la molestia de que el precio a pagar por la privacidad y seguridad es la velocidad.

    El navegador Tor se puede descargar de: https://www.torproject.org/es/download/

    La interfaz similar Mozilla Firefox y  está basado en Mozilla Firefox

    Cómo navegar de forma anónima en Internet con Tor Browser}


    Pero tiene una configuración particular la cual no es parte de esta materia.

    Manual de TOR: https://tb-manual.torproject.org/es/

    Punto de entrada, Punto de salida.

    Debemos encotrar el archivo "torrc", en el mismo se edita el punto de entrada y de salida..

    De esta manera estamos entrando a la red TOR desde España y salimos en Alemania, y con StrictNodes 1 le forzamos a usar esos nodos.

    Veamos un ejemplo práctico del precio de un pasaje aéreo visto desde USA y desde Argentina: