Notación de nombre de dominio inverso

De Wikipedia, la enciclopedia libre

La notación de nombre de dominio de inversa o DNS-inverso (en inglés: reverse-DNS) es una convención para nombrar los componentes, paquetes, y los tipos utilizados por un lenguaje de programación, un sistema o un framework.

Una característica del las cadenas de texto DNS-inversa es que están basados en dominios registrados, y es únicamente invertido para ordenar cosas. Por ejemplo, si una compañía que hace un producto llamado "MiProducto" y tiene el nombre de dominio registrado "ejemplo.com", podrían utilizar el DNS-inverso "com.ejemplo.MiProducto" para describirlo.

Historia[editar]

El DNS-inverso primero devenía ampliamente utilizado con la plataforma Java, y desde entonces ha sido utilizado para otros sistemas, por ejemplo, para los paquetes de ActionScript 3.[cita requerida]

Ejemplos[editar]

Ejemplos de sistemas que usan DNS-inverso son: Java de Sun Microsystems, Uniform Type Identifier (UTI) de Apple. El sistema operativo Android también hace uso de la notación para clasificar las aplicaciones, como la máquina virtual Dalvik que hace uso de Java.

Ejemplos de DNS-inverso:

  • com.adobe.postscript-font (cadena de texto UTI para las fuentes de Adobe Systems)
  • com.apple.ostype (cadena de texto UTI para OSType de Apple)
  • org.omg.CORBA (librería de Java para CORBA)
  • org.w3c.dom (librería de Java para el Document Object Model (DOM) de la W3C)
  • dconf que es la herramienta de configuración GNOME.

Expresión regular[editar]

^[Un-Za-z]{2,6}((?!-)[Un-Za-z0-9-]{1,63}(?<!-)\\.)+$

Código[editar]

C#[editar]

static string ReverseDomainName(string domain)
{
    return string.Join(".", domain.Split('.').Reverse());
}

JavaScript[editar]

function reverseDomain(domain) {
    return domain.split('.').reverse().join('.');
}

PHP[editar]

function reverseDomain(domain) {
    return implode('.', array_reverse(explode('.', domain)));
}

Python[editar]

def reverse_domain(domain):
    return '.'.join(reversed(domain.split('.')))

Ruby[editar]

def reverse_domain(domain)
  domain.sp­lit('.').r­everse.j­oin('.')
end

Swift[editar]

func reverseDomain(domain:String) -> String{
    return domain.componentsSeparatedByString(".").reverse().joinWithSeparator(".")
}

Referencias[editar]

Enlaces externos[editar]