Pular para o conteúdo principal

Questão de Programação — Web — CESPE / CEBRASPE 2023

ProgramaçãoWeb
Código
ce156117
Banca
CESPE / CEBRASPE
Órgão
MPE-RO
Ano
2023
Nível
Superior
Cargo
Analista Programador
A seguir, é apresentada uma configuração do Nginx em sua última versão estável.server {root /www/data;location / {}location ~ / images / {}location ~ \.(mp3mp4){root /www/media; }}A partir dessa configuração, infere-se que, se a URL terminar com a extensão .mp3 ou .mp4, o Nginx
  1. Arecusará servir esses tipos de arquivo.
  2. Bignorará a diretriz location.
  3. Cbuscará pelo arquivo no root /www/media.
  4. Dvarrerá primeiro o /images buscando o arquivo.
  5. Eassumirá o root /www/data como o ponto de controle.
Revelar gabarito e comentário

GabaritoC — buscará pelo arquivo no root /www/media.

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Nginx: configuração de location e diretiva root

Gabarito: letra C. Ao receber uma requisição cujo URI termina com .mp3 ou .mp4, o Nginx aplica a location regex ~ \.(mp3|mp4)$ (com a sintaxe correta), que define root /www/media. Portanto, o servidor buscará o arquivo nesse diretório, e não no root do bloco server.

A configuração apresentada possui um bloco server com root /www/data; e três locations:

  • location / { } (prefixo, casa qualquer URI)

  • location ~ /images/ { } (regex, casa URIs contendo /images/)

  • location ~ \.(mp3|mp4){ root /www/media; } (regex, casa URIs terminadas em .mp3 ou .mp4; note que falta o cifrão $ e a barra invertida no ponto, mas o intuito é esse)

No processamento de locations do Nginx, primeiro verificam-se locations de prefixo (a mais longa é lembrada). Depois, as regex são verificadas em ordem. Se uma regex casa, ela é usada. Para um arquivo .mp3 ou .mp4, a terceira location casa, e sua diretiva root /www/media substitui o root do bloco server.

  1. 1Requisição recebida
  2. 2Verifica locations de prefixo
  3. 3Guarda a prefixo mais longa
  4. 4Verifica regex em ordem
  5. 5Se regex casa, usa seu root
  6. 6Resposta com o root definido
LEVEL · soulevel.com.br

Alternativa A — ❌ Incorreta

Não recusa; ele atende a requisição com o root específico.

Alternativa B — ❌ Incorreta

A diretriz location é aplicada, não ignorada.

Alternativa C — ✅ Correta ⟵ GABARITO

Exatamente o que ocorre: o Nginx busca o arquivo em /www/media.

Alternativa D — ❌ Incorreta

A location ~/images/ só é acionada para URIs que contenham /images/. Um arquivo .mp3 genérico não contém, portanto não há varredura em /images.

Alternativa E — ❌ Incorreta

O root /www/data é substituído pelo root /www/media definido na location que casa.

PEGA ESSA DICA!

Em provas de Nginx, lembre-se da precedência de locations: padrão = prefixo (mais longa) → regex (em ordem). No bloco, cada location pode sobrescrever diretivas como root. A regex ~ \.(ext)$ é muito usada para tratar arquivos estáticos.

Gabarito: letra C.

Link permanente: /questoes/ce156117