O nginx devolveu 415 e o time discute se é o HEIC ou o Cloudflare. Esta aba consulta o código e o tipo MIME. Não faz GET na URL.
O ar caiu, o painel do CDN mostrou 415 ou 502 e alguém perguntou se “é a Cloudflare ou o PHP”. O trabalho desta página é lembrar o que o código e o MIME querem dizer, sem disparar um request daqui.
A MDN em português descreve o 415 como recusa do corpo: Content-Type, Content-Encoding ou inspeção dos bytes. CDN de otimização de imagem (e a própria Cloudflare, que costuma só repassar o 415 do servidor de origem) devolve isso quando o formato não entra na lista — HEIC, WebP sem permissão, extensão .png com bytes de outro tipo.
415 no upload e no MIME
Não confunda com 406 (o servidor não consegue produzir o tipo que o cliente pediu). 415 é o contrário: o cliente enviou um tipo que o destino não processa.
No Brasil o caso clássico é foto do iPhone no portal de vaga, no S3 atrás de um otimizador ou no backend que só lista image/jpeg e image/png. Renomear .heic para .jpg não muda os bytes. Antes de brigar com o DevOps, converta HEIC nesta aba.
Um cabeçalho típico de upload que o origin recusa:
POST /upload HTTP/1.1
Content-Type: image/heic
Se o log mostrar application/octet-stream no lugar do JPEG, o proxy adivinhou errado. Isto não é laudo forense e não prova o que o servidor “deveria” aceitar.
502, 429 e o que não é MIME
- 502 / 504: gateway e timeout. Refresh no navegador às vezes some; o origin ainda pode estar morto.
- 429: limite. Não é “o JSON está feio”.
- 401 / 403: senha e permissão, não tipo de arquivo.
- 400: corpo inválido — valide no formatador.
Faixa de IP no ticket do provedor: sub-rede IPv4. User-Agent do nginx: analisador.
Como consultar nesta aba
- Digite o código (
415) ou um pedaço do MIME (image/webp). - Leia o resumo. A RFC e a MDN mandam mais texto do que cabe aqui.
- Nada sobe: não há URL para testar. Se precisar de prova no ar, use o seu curl no terminal.
A lista é um recorte dos códigos mais comuns, não o catálogo HTTP inteiro. 418 existe como ovo de Páscoa; não use isso em contrato de SLA.