

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# ¿Qué es una URL de paquete?
<a name="sbom-generator-purl-sbom"></a>

 [Una URL de paquete o PURL](https://github.com/package-url/purl-spec) es un formato estandarizado que se utiliza para identificar paquetes, componentes y bibliotecas de software en diferentes sistemas de administración de paquetes. El formato facilita el seguimiento, el análisis y la gestión de las dependencias en los proyectos de software, especialmente al generar una lista de materiales de software (SBOMs). 

## Estructura de la PURL
<a name="w2aac37c33b5"></a>

 La estructura de la PURL es similar a la de una URL y se compone de varios componentes: 
+  `pkg`: el prefijo literal 
+  `type`: el tipo de paquete 
+  `namespace`: la agrupación 
+  `name`: el nombre del paquete 
+  `version`: la versión del paquete 
+  `qualifiers`: pares clave-valor adicionales 
+  `subpath`: la ruta del archivo del paquete 

**PURL de ejemplo**  
 A continuación, se muestra un ejemplo del aspecto que podría tener una PURL. 

```
pkg:<type>/<namespace>/<name>@<version>?<qualifiers>#<subpath>
```

### La PURL genérica
<a name="w2aac37c33b5c11"></a>

 Una PURL genérica se utiliza para representar paquetes y componentes de software que no se ajustan a los ecosistemas de paquetes establecidos, como npm, pypi o maven. Identifica los componentes de software y captura los metadatos que podrían no estar alineados con sistemas de administración de paquetes específicos. Una PURL genérica es útil para una variedad de proyectos de software, desde binarios compilados hasta plataformas, como Apache y WordPress. Permite aplicarlo en una amplia gama de casos de uso, incluidos binarios compilados, plataformas web y distribuciones de software personalizadas. 

**Casos de uso clave**  
 
+  Es compatible con binarios compilados y es útil para Go y Rust 
+  Es compatible con plataformas web, como Apache y WordPress, en las que un paquete puede no estar asociado a los administradores de paquetes tradicionales. 
+  Es compatible con el software heredado personalizado, ya que permite a las organizaciones hacer referencia a software o sistemas desarrollados internamente que carecen de paquetes formales. 

**Formato de ejemplo**  
 A continuación, se muestra un ejemplo del formato de PURL genérico. 

```
pkg:generic/<namespace>/<name>@<version>?<qualifiers>
```

#### Ejemplos adicionales del formato de PURL genérico
<a name="w2aac37c33b5c11c13"></a>

 A continuación, se muestran ejemplos adicionales del formato de PURL genérico. 

**Binario de Go compilado**  
A continuación, se representa el `inspector-sbomgen binary` compilado con Go.

```
pkg:generic/inspector-sbomgen?go_toolchain=1.22.5
```

**Binario de Rust compilado**  
 A continuación, se representa el binario de `myrustapp` compilado con Rust. 

```
pkg:generic/myrustapp?rust_toolchain=1.71.0
```

**Proyecto de Apache**  
 Lo siguiente se refiere a un proyecto http en el espacio de nombres de Apache. 

```
pkg:generic/apache/httpd@1.0.0
```

**Software de WordPress**  
 Lo siguiente se refiere a un software de WordPress básico. 

```
pkg:generic/wordpress/core/wordpress@6.0.0
```

**Tema de WordPress**  
 Lo siguiente se refiere a un tema de WordPress personalizado. 

```
pkg:generic/wordpress/theme/mytheme@1.0.0
```

**Complemento de WordPress**  
 Lo siguiente se refiere a un complemento de WordPress personalizado. 

```
pkg:generic/wordpress/plugin/myplugin@1.0.0
```