451

Unavailable For Legal Reasons

개요

451 Unavailable For Legal Reasons는 법적 요구(검열, 법원 명령, 정부 규제 등)로 인해 리소스에 접근할 수 없다는 뜻입니다. 코드 번호 451은 정보 검열을 다룬 레이 브래드버리의 소설 『화씨 451』에서 따온 것입니다.

403 Forbidden이 '권한이 없어서' 막는 것이라면, 451은 특정 콘텐츠가 '법률상' 차단되었음을 투명하게 알리기 위한 코드입니다. 응답에 rel="blocked-by" Link 헤더로 누가/무엇이 차단을 요구했는지 밝히기도 합니다.

언제 발생하나

요청 / 응답 예시

요청
GET /article/banned-topic HTTP/1.1
Host: news.example.com
응답
HTTP/1.1 451 Unavailable For Legal Reasons
Link: <https://spqr.example.org/legal>; rel="blocked-by"
Content-Type: text/html

<h1>451 Unavailable For Legal Reasons</h1>
<p>This content is blocked in your region.</p>

코드로 보기

app.get('/article/:slug', (req, res) => {
  if (isBlockedInRegion(req.ip, req.params.slug)) {
    return res.status(451)
      .set('Link', '<https://example.org/legal>; rel="blocked-by"')
      .send('Unavailable For Legal Reasons');
  }
  // serve the article...
});

흔한 원인

해결 방법

실무 참고

관련 상태코드

관련 헤더

스펙 근거