Downloads para desktop
O recurso de download atende às builds do aplicativo para desktop que uma implantação armazenou. Ele também atende a um checksum SHA-256 para cada build e aos arquivos de feed de lançamento ao lado deles. Cada rota aqui não é autenticada. Uma solicitação que envia uma credencial de qualquer maneira recebe o mesmo status e corpo. Nenhuma rota aqui declara um bucket de limite de taxa e nenhuma consome a permissão global.
Prefixo e montagem
Seção intitulada “Prefixo e montagem”O Decoding Chat registra as rotas sob /dl, e as rotas de desktop sob /dl/desktop. Um cliente constrói a URL a partir de api_client do objeto de endpoints da instância.
O Decoding Chat monta o prefixo na raiz e em /v1. Cada rota de desktop abaixo também responde sob /v1/dl/desktop/....
Todas as outras rotas nesta referência assumem o formato /v1, e a API HTTP declara que um cliente DEVE usá-lo.
Métodos
Seção intitulada “Métodos”Cada rota responde GET. As rotas de checksum, as rotas de artefato e a coringa também vinculam HEAD. Obter versão de desktop mais recente e Listar versões de desktop vinculam GET isoladamente, e um HEAD ainda as alcança sob a regra compartilhada para HEAD.
Um HEAD em qualquer rota JSON executa a mesma resolução que o GET e retorna seu status e cabeçalhos sem nenhum corpo. Ele pode, portanto, responder 404.
Uma rota de checksum responde a um HEAD com 200 e sem corpo. Os cabeçalhos são Content-Type, Content-Disposition, Cache-Control e o Content-Length da linha de checksum.
Requisições HEAD para artefatos e coringa retornam 200 com Content-Type, Content-Disposition, Accept-Ranges, Cache-Control e Content-Length, além de ETag e Last-Modified quando disponíveis. Eles ignoram Range e nunca retornam 206, 416 ou um redirecionamento de URL pré-assinado. Redirecionamentos de país ainda retornam 302 para HEAD, assim como para GET.
Canais de lançamento
Seção intitulada “Canais de lançamento”| Valor | Nome | Descrição |
|---|---|---|
| stable | Stable | O canal que uma implantação publica para uso geral |
| canary | Canary | O canal que recebe uma build antes de stable |
O canal seleciona a série de lançamentos e o nome do produto. Um arquivo canary é nomeado Decoding Chat-Canary ou Decoding Chat Canary, e um arquivo stable é nomeado Decoding Chat.
Plataformas e arquiteturas
Seção intitulada “Plataformas e arquiteturas”| Valor | Nome | Descrição |
|---|---|---|
| win32 | Windows | O destino de build do Windows |
| darwin | macOS | O destino de build do macOS |
| linux | Linux | O destino de build do Linux |
O segmento de caminho com um desses valores é nomeado plat.
| Valor | Nome | Descrição |
|---|---|---|
| x64 | x64 | A arquitetura x86 de 64 bits |
| arm64 | ARM64 | A arquitetura ARM de 64 bits |
Um canal, uma plataforma e uma arquitetura juntos nomeiam uma coordenada.
Formatos de pacote
Seção intitulada “Formatos de pacote”| Valor | Nome | Descrição |
|---|---|---|
| setup | Setup | O executável do instalador do Windows |
| portable | Portable | O arquivo do Windows que armazena seus dados ao lado do executável |
| dmg | DMG | A imagem de disco do macOS |
| zip | ZIP | O arquivo de aplicativo do macOS |
| appimage | AppImage | A imagem de aplicativo portátil do Linux |
| deb | DEB | O pacote Debian |
| rpm | RPM | O pacote RPM |
| tar_gz | TAR.GZ | O tarball compactado do Linux |
O registro é fechado, e um format fora dele retorna 400 INVALID_FORM_BODY.
Cada formato se resolve em uma plataforma. setup e portable resolvem em win32, dmg e zip em darwin, e appimage, deb, rpm, e tar_gz em linux. Um formato pareado com qualquer outra plataforma retorna 404.
No darwin, uma solicitação dmg ou zip tenta o arquivo universal antes do específico da arquitetura, então x64 e arm64 podem ser resolvidos para o mesmo arquivo.
Requisições de checksum
Seção intitulada “Requisições de checksum”Um cliente anexa .sha256 ao segmento de formato para ler o checksum, e envia o formato simples para ler o arquivo. tar_gz.sha256 é o checksum de tar_gz.
Use o sufixo .sha256 em letras minúsculas com um formato de pacote válido. Um formato ou sufixo inválido retorna 400 INVALID_FORM_BODY.
Objeto de informações da versão
Seção intitulada “Objeto de informações da versão”Um objeto de informações da versão descreve um lançamento em uma coordenada e o arquivo que ele tem para cada formato.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| version | string | A versão do lançamento na forma MAJOR.MINOR.PATCH |
| pub_date1 | Timestamp ISO8601 | O momento em que o lançamento foi publicado |
| minimum_system_version?2 | ?string | A versão mais baixa do sistema operacional que o lançamento suporta |
| files3 | map[string, objeto arquivo de versão] | A entrada de download para cada formato de pacote que o lançamento possui |
1 Tempo de publicação reportado para o lançamento
2 Presente quando o lançamento especifica uma versão mínima do sistema
3 Um formato que não resolve nenhum arquivo está ausente do mapa
Exemplo
Seção intitulada “Exemplo”{ "version": "1.4.2", "pub_date": "2026-08-19T11:04:00.000Z", "minimum_system_version": "10.15.0", "files": { "dmg": { "url": "https://api.example.com/dl/desktop/stable/darwin/arm64/1.4.2/dmg", "sha256": "3b1f5c0d9e7a24486cf0b1d3a5e87209cc4d61fba0937e5528d1c4a67b0e93f2", "checksum_url": "https://api.example.com/dl/desktop/stable/darwin/arm64/1.4.2/dmg.sha256" } }}Objeto de arquivo de versão
Seção intitulada “Objeto de arquivo de versão”Um objeto de arquivo de versão é a entrada de download para um formato de um lançamento.
Estrutura
Seção intitulada “Estrutura”| Campo | Tipo | Descrição |
|---|---|---|
| url1 | string | A URL absoluta do download versionado para este formato |
| sha2562 | ?string | O hash do arquivo como 64 caracteres hexadecimais em letras minúsculas, ou null onde nenhum checksum foi encontrado |
| checksum_url1 | ?string | A URL absoluta do arquivo de checksum, ou null onde sha256 é null |
1 Construído a partir de api_client no objeto de endpoints da instância, sem o segmento /v1
2 Um hash hexadecimal minúsculo de 64 caracteres, ou null quando nenhum checksum válido estiver disponível
Arquivos de checksum
Seção intitulada “Arquivos de checksum”Uma resposta de checksum é uma linha sha256sum: o hash, dois espaços, o nome do arquivo resolvido e uma nova linha no final.
2f6d1a4b8c3e07f95ab61d4c2e8035971fd0ba46c7e213985cd0f74a6b1e82c3 Decoding Chat-1.4.2-linux-x86_64.AppImageA resposta tem Content-Type: text/plain; charset=utf-8, um Content-Disposition de attachment nomeando o nome do arquivo resolvido com .sha256 anexado, e um Content-Length contando a linha codificada. Ele não define Accept-Ranges, ETag, ou Last-Modified, e ignora um cabeçalho Range.
Um checksum ausente ou inválido retorna 404.
Resolução de artefatos
Seção intitulada “Resolução de artefatos”Use latest para o lançamento atualmente oferecido em um canal, plataforma e arquitetura, ou uma URL versionada para solicitar um lançamento específico. Um arquivo ausente retorna 404 com o corpo de texto simples Not Found.
Cabeçalhos de resposta e cache
Seção intitulada “Cabeçalhos de resposta e cache”Toda resposta de artefato tem Accept-Ranges: bytes e um Content-Disposition de attachment nomeando o arquivo resolvido, a menos que o objeto armazenado tenha seu próprio Content-Disposition. O nome do arquivo é codificado por porcentagem (percent-encoded) dentro do cabeçalho, então um nome contendo um espaço é escrito com %20.
| Resposta | Cache-Control |
|---|---|
| Metadados da versão mais recente e lista de versões | public, max-age=300 |
| Artefato mais recente e checksum mais recente | no-store |
Artefato versionado e checksum versionado sob desktop/ | public, max-age=31536000 |
O nome de um arquivo de feed de lançamento e qualquer coisa sob desktop-test/ | public, max-age=300 |
Qualquer artefato de desktop/ em uma implantação que configura redirecionamentos de país | private, no-store |
| Um redirecionamento para uma URL de armazenamento pré-assinada | no-store |
O nome de um arquivo de feed de lançamento é qualquer um destes:
manifest.json- Um nome terminando em
.ymlou.yaml - Um nome começando com
RELEASES - Um nome começando com
releasesouassetse terminando em.json
Redirecionamentos
Seção intitulada “Redirecionamentos”As configurações de implantação abaixo respondem a um download com 302.
Uma implantação hospedada pode listar países cujos downloads de um arquivo sob desktop/ o Decoding Chat pode redirecionar para ativos de lançamento do GitHub. Uma vez que a lista está definida, cada resposta para tal arquivo tem Cache-Control: private, no-store, incluindo uma resposta que o Decoding Chat serve do armazenamento.
Uma implantação que emite URLs de download pré-assinadas responde a um GET com 302 para uma URL de armazenamento válida por 900 segundos. Esse redirecionamento tem Cache-Control: no-store e Accept-Ranges: bytes. A configuração é desativada por padrão.
Builds de teste
Seção intitulada “Builds de teste”Toda rota aceita o parâmetro de consulta test. 1 ou true, combinado sem distinção entre maiúsculas e minúsculas, seleciona lançamentos de teste. Qualquer outro valor é falso.
Nas rotas de desktop, a flag faz o Decoding Chat resolver todos os arquivos em desktop-test/. Em Baixar objeto armazenado, ele reescreve uma chave começando com desktop/ e deixa qualquer outra chave inalterada, e um caminho que já nomeia desktop-test/ resolve lá sem nenhuma flag.
Um url e um checksum_url construídos para uma solicitação que enviou a flag repetem ?test=1, de modo que um cliente que segue qualquer um deles permanece no prefixo de teste.
Obter versão de desktop mais recente
Seção intitulada “Obter versão de desktop mais recente”GET/v1/dl/desktop/{channel}/{plat}/{arch}/latestRetorna o objeto de informações da versão para o lançamento mais recente na coordenada.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | objeto de informações da versão | Um lançamento resolvido na coordenada |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | Nenhum lançamento resolvido na coordenada |
Um cliente lê files para o formato que deseja. Um formato cujo arquivo não resolveu nenhum checksum reporta sha256 e checksum_url como null.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Cache-Control: public, max-age=300. O 404 tem Content-Type: text/plain.
Listar versões de desktop
Seção intitulada “Listar versões de desktop”GET/v1/dl/desktop/{channel}/{plat}/{arch}/versionsRetorna os lançamentos armazenados na coordenada, o mais recente primeiro.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| limit? | integer | O número máximo de lançamentos para retornar (1 a 100, padrão 25) |
| before?1 | string | A versão para paginar abaixo, exclusivo |
| after?1 | string | A versão para paginar acima, exclusivo |
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
1 Comparado componente por componente como números, e ambos os limites podem ser enviados juntos para selecionar um intervalo
Corpo da resposta
Seção intitulada “Corpo da resposta”| Campo | Tipo | Descrição |
|---|---|---|
| versions | array[objeto de informações da versão] | Os lançamentos nesta página, ordenados do mais recente primeiro |
| has_more | boolean | Se o conjunto filtrado continha mais lançamentos do que limit |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | corpo da resposta | A listagem foi concluída, possivelmente sem nenhum lançamento |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
Esta rota nunca responde 404. Uma coordenada que não contém nenhum objeto retorna 200 com um array vazio.
Apenas arquivos disponíveis são listados. Esta resposta omite minimum_system_version e relata sha256 apenas quando um checksum válido está disponível.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Cache-Control: public, max-age=300.
Baixar o artefato de desktop mais recente
Seção intitulada “Baixar o artefato de desktop mais recente”GET/v1/dl/desktop/{channel}/{plat}/{arch}/latest/{format}Faz o streaming do arquivo mais recente na coordenada para um formato de pacote.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
| format | string | O formato de pacote para resolver |
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
Cabeçalhos de requisição
Seção intitulada “Cabeçalhos de requisição”| Campo | Tipo | Descrição |
|---|---|---|
| Range? | string | O intervalo de bytes padrão, respondido com 206 e um cabeçalho Content-Range |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | bytes do artefato | O arquivo completo foi transmitido (streamed) |
| 206 | bytes do artefato | O intervalo de bytes solicitado foi transmitido |
| 302 | vazio | A implantação redireciona este download |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | Nenhum arquivo resolvido para o formato na coordenada |
| 416 | vazio | O intervalo solicitado é insatisfatório |
O arquivo armazenado mantém seu próprio nome, de modo que o nome do arquivo resolvido tem a versão de lançamento, mesmo que a solicitação tenha nomeado latest. Um cliente que segue esta rota em cada verificação lê um arquivo diferente assim que um lançamento mais recente é armazenado na coordenada.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Content-Type1, Content-Disposition2, Content-Length, Accept-Ranges: bytes, Cache-Control: no-store, ETag3, e Last-Modified3. O 206 tem os cabeçalhos 200 mais Content-Range. O 302 tem Location, Accept-Ranges: bytes, e Cache-Control. O 404 tem Content-Type: text/plain. O 416 tem Accept-Ranges: bytes, Content-Range: bytes */{size}, e Cache-Control.
1 O tipo de mídia armazenado, e application/octet-stream onde o armazenamento não reporta nenhum
2 attachment nomeando o nome do arquivo resolvido, codificado por porcentagem (percent-encoded)
3 Enviado onde o armazenamento reporta o valor
Baixar o checksum de desktop mais recente
Seção intitulada “Baixar o checksum de desktop mais recente”GET/v1/dl/desktop/{channel}/{plat}/{arch}/latest/{format}.sha256Retorna o arquivo de checksum para o arquivo mais recente na coordenada.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
| format1 | string | O formato de pacote para resolver, seguido por .sha256 |
1 O segmento completo corresponde a [a-z_]+\.sha256 para a rota reivindicá-lo, e a parte antes do sufixo nomeia um formato no registro fechado
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | linha de checksum | O arquivo e um hash válido foram resolvidos |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | Nenhum arquivo resolvido para o formato, ou o arquivo resolvido não possui hash válido |
Este hash é o valor que Obter versão de desktop mais recente relata como sha256 para o mesmo formato. A linha nomeia o arquivo que o download latest desta coordenada transmite.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Content-Type: text/plain; charset=utf-8, Content-Disposition, Content-Length, e Cache-Control: no-store. O 404 tem Content-Type: text/plain.
Baixar artefato de desktop
Seção intitulada “Baixar artefato de desktop”GET/v1/dl/desktop/{channel}/{plat}/{arch}/{version}/{format}Faz o streaming de um arquivo lançado por versão e formato de pacote.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
| version1 | string | A versão de lançamento para resolver |
| format | string | O formato de pacote para resolver |
1 Três componentes decimais correspondentes a ^\d+\.\d+\.\d+$, portanto uma versão com dois componentes ou com sufixo retorna 400 INVALID_FORM_BODY
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
Cabeçalhos de requisição
Seção intitulada “Cabeçalhos de requisição”| Campo | Tipo | Descrição |
|---|---|---|
| Range? | string | O intervalo de bytes padrão, respondido com 206 e um cabeçalho Content-Range |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | bytes do artefato | O arquivo completo foi transmitido |
| 206 | bytes do artefato | O intervalo de bytes solicitado foi transmitido |
| 302 | vazio | A implantação redireciona este download |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | Nenhum arquivo resolvido para a versão e o formato |
| 416 | vazio | O intervalo solicitado é insatisfatório |
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Content-Type, Content-Disposition, Content-Length, Accept-Ranges: bytes, Cache-Control1, ETag2, e Last-Modified2. O 206 tem os cabeçalhos 200 mais Content-Range. O 302 tem Location, Accept-Ranges: bytes, e Cache-Control. O 404 tem Content-Type: text/plain. O 416 tem Accept-Ranges: bytes, Content-Range: bytes */{size}, e Cache-Control.
1 public, max-age=31536000 para um arquivo lançado, e public, max-age=300 sob desktop-test/ ou para um nome de arquivo de feed de lançamento
2 Enviado onde o armazenamento reporta o valor
Baixar checksum de desktop
Seção intitulada “Baixar checksum de desktop”GET/v1/dl/desktop/{channel}/{plat}/{arch}/{version}/{format}.sha256Retorna o arquivo de checksum para um arquivo lançado.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| channel | string | O canal de lançamento para resolver |
| plat | string | A plataforma para resolver |
| arch | string | A arquitetura para resolver |
| version | string | A versão de lançamento para resolver |
| format1 | string | O formato de pacote para resolver, seguido por .sha256 |
1 O segmento completo corresponde a [a-z_]+\.sha256 para a rota reivindicá-lo, e a parte antes do sufixo nomeia um formato no registro fechado
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para resolver sob desktop-test/ |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | linha de checksum | O arquivo e um hash válido foram resolvidos |
| 400 | resposta de erro | Um valor de caminho ou consulta falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | Nenhum arquivo resolvido para a versão e o formato, ou nenhum hash válido foi encontrado para ele |
Retorna 404 quando o arquivo solicitado não possui um checksum disponível.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Content-Type: text/plain; charset=utf-8, Content-Disposition, Content-Length, e Cache-Control1. O 404 tem Content-Type: text/plain.
1 public, max-age=31536000 para um arquivo lançado, e public, max-age=300 sob desktop-test/
Baixar objeto armazenado
Seção intitulada “Baixar objeto armazenado”GET/dl/{path}Baixa um arquivo por caminho. Use esta rota para feeds de lançamento, que não possuem segmento de formato ou versão.
Parâmetros de caminho
Seção intitulada “Parâmetros de caminho”| Campo | Tipo | Descrição |
|---|---|---|
| path1 | string | O caminho de download, que pode conter separadores / |
1 Retirado do caminho da requisição com o prefixo /dl removido e depois normalizado. Começa com desktop/ ou desktop-test/ após a normalização, e qualquer outra chave retorna 404
Parâmetros de consulta
Seção intitulada “Parâmetros de consulta”| Campo | Tipo | Descrição |
|---|---|---|
| test? | string | A flag de build de teste, 1 ou true para reescrever uma chave desktop/ para desktop-test/ |
Cabeçalhos de requisição
Seção intitulada “Cabeçalhos de requisição”| Campo | Tipo | Descrição |
|---|---|---|
| Range? | string | O intervalo de bytes padrão, respondido com 206 e um cabeçalho Content-Range |
Resposta
Seção intitulada “Resposta”| Status | Corpo | Condição |
|---|---|---|
| 200 | bytes do objeto | O objeto completo foi transmitido |
| 206 | bytes do objeto | O intervalo de bytes solicitado foi transmitido |
| 302 | vazio | A implantação redireciona este download |
| 400 | resposta de erro | O valor test falha em seu esquema e a requisição retorna INVALID_FORM_BODY |
| 404 | Not Found | A chave está fora dos prefixos permitidos, a requisição tem o prefixo /v1, ou o armazenamento não contém tal objeto |
| 416 | vazio | O intervalo solicitado é insatisfatório |
O Decoding Chat também rejeita a chave quando está vazia, quando a normalização a deixa começando com .. ou /, ou quando qualquer segmento é ., .., ou contém um caractere NUL. Cada um destes retorna o mesmo 404, para que um chamador não consiga distinguir uma tentativa de travessia (traversal) de um objeto ausente.
Uma solicitação pode nomear desktop/stable/linux-x64/manifest.json ou desktop/stable/linux/x64/manifest.json. Para a forma com hífen, o Decoding Chat retorna esse objeto quando o armazenamento o contém e, caso contrário, retorna o objeto na forma com barra.
Cabeçalhos de resposta
Seção intitulada “Cabeçalhos de resposta”O 200 tem Content-Type, Content-Disposition, Content-Length, Accept-Ranges: bytes, Cache-Control1, ETag2, e Last-Modified2. O 206 tem os cabeçalhos 200 mais Content-Range. O 302 tem Location, Accept-Ranges: bytes, e Cache-Control. O 404 tem Content-Type: text/plain. O 416 tem Accept-Ranges: bytes, Content-Range: bytes */{size}, e Cache-Control.
1 public, max-age=31536000 para um artefato lançado, e public, max-age=300 para um nome de arquivo de feed de lançamento ou uma chave sob desktop-test/
2 Enviado onde o armazenamento reporta o valor

