Skip to content

Código de status HTTP · Erros do cliente (4xx)

Erro 451 Unavailable For Legal Reasons

O erro 451 Unavailable For Legal Reasons significa que o servidor está negando acesso ao recurso por causa de uma exigência legal. As causas comuns são ordem judicial, pedido de remoção por direitos autorais, como uma notificação DMCA, ou um site que bloqueia visitantes de um país cuja lei não quer cumprir.

Dados sobre este código de status
Classe4xx, Erros do cliente
Definido emRFC 7725 §3
Pode ir para o cache por padrãoSim, de forma heurística; a RFC 7725 torna a resposta cacheável por padrão
Pode repetir o pedidoNão; o bloqueio fica até a exigência legal ser retirada
Cabeçalhos relevantes
  • Link: rel="blocked-by" identifica quem está aplicando o bloqueio (pode ser o provedor, não o site)

O que significa o 451

A RFC 7725 (2016) define o 451, número escolhido em referência a Fahrenheit 451, de Ray Bradbury. O corpo da resposta deve explicar a exigência: quem fez, com base em qual lei e quem é afetado. A resposta também deve levar um cabeçalho Link com rel="blocked-by" apontando para quem está de fato aplicando o bloqueio, que pode ser um provedor de internet ou um buscador, não o site que você acessou.

A RFC observa que o 451 não indica se o recurso existe ou não, e que a resposta é cacheável por padrão. O GitHub, por exemplo, serve 451 para repositórios desativados após notificação DMCA, e alguns sites de notícias dos EUA mostraram página 451 para visitantes da União Europeia quando a GDPR entrou em vigor, em maio de 2018.

Causas comuns

Se você está visitando o site

  • O conteúdo foi removido para o seu país depois de uma ordem judicial ou pedido do governo.
  • Um detentor de direitos autorais pediu a remoção e a hospedagem desativou a página ou o repositório.
  • O site preferiu bloquear sua região a cumprir uma lei local de privacidade ou de conteúdo.

Se você administra o servidor

  • Você recebeu uma ordem legal e precisa desativar um recurso, ou servi-lo em todo lugar menos numa jurisdição.
  • A sua CDN ou hospedagem aplicou o bloqueio do lado dela e responde 451 em seu nome.

Como resolver

Se você está visitando o site

  • Leia o corpo da página: um 451 bem feito diz quem pediu o bloqueio e com base em qual lei.
  • Procure o mesmo conteúdo em outra fonte oficial ou numa versão liberada para sua região; não há nada a corrigir no seu aparelho.

Se você administra o servidor

  • Use 451 em vez de 404 ou 403 para conteúdo bloqueado por lei, assim usuários, pesquisadores e buscadores enxergam a censura como ela é.
  • Coloque a explicação no corpo e um cabeçalho Link: <https://seu-site>; rel="blocked-by" identificando você como quem aplica o bloqueio.
  • Limite o bloqueio ao mínimo (uma URL, uma região) e guarde a referência legal para quando a exigência expirar.

Como enviar um 451

Express (Node.js)
app.get('/videos/:id', (req, res) => {
  res.set('Link', '<https://example.com>; rel=blocked-by');
  res.status(451).json({ error: 'Unavailable in your country under court order 2026/114' });
});
Next.js App Router (route handler)
// app/videos/[id]/route.ts
export async function GET() {
  return Response.json(
    { error: 'Unavailable in your country under court order 2026/114' },
    { status: 451, headers: { 'Link': '<https://example.com>; rel=blocked-by' } }
  );
}
Go net/http
mux.HandleFunc("GET /videos/{id}", func(w http.ResponseWriter, r *http.Request) {
	w.Header().Set("Link", "<https://example.com>; rel=blocked-by")
	w.Header().Set("Content-Type", "application/json")
	w.WriteHeader(http.StatusUnavailableForLegalReasons) // 451
	w.Write([]byte(`{"error":"Unavailable in your country under court order 2026/114"}`))
})
Python FastAPI
from fastapi import FastAPI, HTTPException

app = FastAPI()

@app.get("/videos/{id}")
def get_video(id: str):
    raise HTTPException(status_code=451, detail="Unavailable in your country under court order 2026/114", headers={"Link": "<https://example.com>; rel=blocked-by"})
Nginx
location = /videos/8841 {
  add_header Link '<https://example.com>; rel="blocked-by"' always;
  return 451 'Unavailable for legal reasons: removed under court order 2026/114.\n';
}

Costuma ser confundido com

451 vs 403
O 403 é uma recusa baseada nas suas permissões; o 451 é uma recusa imposta por lei que nenhuma credencial resolve.
451 vs 404
Às vezes os sites escondem conteúdo removido por lei atrás de um 404; o 451 diz abertamente que o motivo é uma exigência legal.
451 vs 410
O 410 diz que o dono removeu o recurso de vez; o 451 diz que ele está retido por uma exigência legal externa e pode voltar se ela acabar.

Perguntas frequentes

Por que o código se chama 451?
É uma referência a Fahrenheit 451, romance de Ray Bradbury sobre a queima de livros. Tim Bray propôs o código, e a IETF o publicou como RFC 7725 em fevereiro de 2016.
Dá para contornar o erro 451 com VPN?
A própria RFC 7725 observa que muitas vezes o conteúdo bloqueado fica acessível por VPN ou Tor, já que muitos bloqueios são por localização. Se isso é permitido depende do lugar onde você está e dos termos do serviço.
Quem está bloqueando a página quando aparece 451?
Não necessariamente o site. A RFC pede que quem aplica o bloqueio se identifique num cabeçalho Link com rel="blocked-by", e pode ser o site, uma CDN, um provedor de internet ou um buscador.

Revisado em por Arielton Oberek.