

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# O que é um URL de pacote?
<a name="sbom-generator-purl-sbom"></a>

 [Um URL de pacote ou PURL](https://github.com/package-url/purl-spec) é um formato padronizado usado para identificar pacotes de software, componentes e bibliotecas em diferentes sistemas de gerenciamento de pacotes. O formato facilita o rastreamento, a análise e o gerenciamento de dependências em projetos de software, principalmente ao gerar uma lista de materiais de software (SBOMs). 

## Estrutura do PURL
<a name="w2aac37c33b5"></a>

 A estrutura do PURL é semelhante a um URL e possui vários componentes: 
+  `pkg`: o prefixo literal 
+  `type`: o tipo de embalagem 
+  `namespace`: o agrupamento 
+  `name`: o nome do pacote 
+  `version`: a versão do pacote 
+  `qualifiers`: pares de chave-valor extras 
+  `subpath`: o caminho do arquivo no pacote 

**Exemplo de PURL**  
 Veja a seguir um exemplo de como pode ser um PURL. 

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

### O PURL genérico
<a name="w2aac37c33b5c11"></a>

 Um PURL genérico é usado para representar pacotes e componentes de software que não se encaixam em ecossistemas de pacotes estabelecidos, como npm, pypi ou maven. Ele identifica componentes de software e captura metadados que podem não estar alinhados com sistemas específicos de gerenciamento de pacotes. Um PURL genérico é útil para uma variedade de projetos de software, desde binários compilados até plataformas, como e Apache e WordPress. Isso permite que ela seja aplicado em uma ampla variedade de casos de uso, incluindo binários compilados, plataformas da web e distribuições de software personalizadas. 

**Casos de uso principais**  
 
+  É compatível com binários compilados e é útil para Go e Rust 
+  É compatível com plataformas da web, como Apache e WordPress, em que um pacote pode não estar associado aos gerenciadores de pacotes tradicionais. 
+  É compatível com o software legado personalizado, permitindo que as organizações façam referência a softwares desenvolvidos internamente ou sistemas sem pacotes formais. 

**Exemplo de formato**  
 Veja a seguir um exemplo de um formato PURL genérico. 

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

#### Exemplos adicionais do formato PURL genérico
<a name="w2aac37c33b5c11c13"></a>

 Veja a seguir exemplos adicionais do formato PURL genérico. 

**Binário compilado em Go**  
O seguinte representa o `inspector-sbomgen binary` compilado com um Go.

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

**Binário compilado em Rust**  
 O seguinte representa o binário `myrustapp` compilado com Rust. 

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

**Apache projeto da**  
 O seguinte se refere a um projeto http no namespace Apache. 

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

**Software do WordPress**  
 O seguinte se refere a um software de núcleo do WordPress. 

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

**Tema do WordPress**  
 O seguinte se refere a um tema personalizado do WordPress. 

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

**Plug-in do WordPress**  
 O seguinte se refere a um plug-in personalizado do WordPress. 

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