¿Cómo utiliza un navegador web un registro de recursos DNS (RR) HTTPS o SVCB?

¿Cómo utiliza un navegador web un registro de recursos DNS (RR) HTTPS o SVCB?

Fondo

RFC 9460 del IETFdefine SVCBun HTTPSregistro de recursos DNS (RR) que se puede utilizar para actualizar las conexiones a HTTPS y también especificar los protocolos de capa de aplicación que son compatibles (ALPN).

El 7 de septiembre de 2021 se lanzó Firefox 92, quesoporte agregado para HTTPS RR:

Firefox actualizará automáticamente una solicitud HTTP a HTTPS cuando esté disponible un RR HTTPS utilizable. También utilizará la información proporcionada en un RR HTTPS para optimizar el proceso de establecimiento de conexiones HTTPS⁠; esto es conceptualmente similar al uso del encabezado Alt-Svc. (Error de Firefox 1721132).

Prueba

Intentando probar esto con www.google.com.

Primero, intenté ver si tenía un HTTPSRR:

$ dig 8.8.8.8 www.google.com HTTPS

...

;; ANSWER SECTION:
www.google.com.     3358    IN  HTTPS   1 . alpn="h2,h3"

Aquí vemos que el HTTPSRR existe y notamos que HTTP/3 es un protocolo compatible indicado por el h3valor del alpnparámetro.

A continuación, intenté borrar la caché de DNS de mi sistema operativo. Por ejemplo, en Windows, ejecuté ipconfig /flushdns. También ejecuté esto justo antes de presionar Intro en la barra de direcciones porque Firefox y Chrome (o algún otro proceso) parecen intentar llegar a google.com con frecuencia en uno de los sistemas con los que estaba probando.

Abrí Firefox v120 e intenté visitar: www.google.com.

Problema

Firefox v120, aunque se indica en la versión v92 que utilizará un RR HTTPS para actualizar y optimizar, no parece solicitarlo.

Wireshark muestra que solo se consultan Ay RR:AAAA

tiburón de alambre

Y se puede ver a Firefox abriendo inicialmente una conexión HTTP/2 antes de cambiar a HTTP/3 debido al Alt-Svcencabezado:

firefox

En realidad, no aparece como ninguna aplicación de escritorio (Chrome, IceCat, Edge, etc.), en varios sitios web, solicite el HTTPSRR porque cuando filtro por dns.qry.type == "HTTPS"o dns.qry.type == 65en WireShark no obtengo ningún resultado. Solo obtengo resultados cuando hago una búsqueda explícita a través de dig.

Pregunta

¿Por qué parece que HTTPSnunca se consulta el RR?

Para intentar comprender el problema, también hago estas preguntas importantes que podrían ayudar a encontrar la causa raíz:

  • ¿Es esta una característica que está deshabilitada de forma predeterminada?
  • ¿Depende esto de la configuración del host (aparte de la configuración del HTTPSRR)? Ningún recurso que haya leído indica que se necesiten pasos adicionales.
  • ¿A quién le corresponde pedir el HTTPSRR? ¿Es el navegador o el sistema operativo? Hasta ahora lo he probado con versiones actualizadas de Guix System 1.4, Windows 10 y Windows 11 y todos los navegadores que mencioné anteriormente.
  • ¿Esto depende del hardware?

Respuesta1

Creo que este es un problema relacionado con Windows, ya que nslookup no admite búsquedas HTTPS y se usa internamente en win32. Creo que los navegadores dependen de las funciones de win32. Si lo pruebo en Safari Chrome o Firefox en mi iPhone, funciona perfectamente.

información relacionada