HTTPQUERY
Русский

451 Unavailable For Legal Reasons

Применение

Код состояния 451 Unavailable For Legal Reasons не подтверждает и не опровергает существование ресурса. Сервер отказывает в доступе из-за юридического требования, и ему разрешено прямо об этом сообщить.

Ресурс заблокирован из-за цензуры. Этот код состояния HTTP отсылает к роману Рэя Брэдбери «451 градус по Фаренгейту».

Примеры применения ответа 451 Unavailable For Legal Reasons зависят от законодательства страны, из которой выполняется доступ. К распространённым случаям относятся нарушение авторских прав, нарушение неприкосновенности частной жизни и сайты азартных игр. Любая ситуация, связанная с решением суда, например запрет на публикацию, оправдывает этот код. Ответ 403 представляет собой более общую версию этой ошибки.

Прозрачность этого кода позволяет сторонним организациям собирать статистику о количестве и категориях сайтов, снятых с публикации из-за цензуры.

В некоторых случаях клиенты получают доступ к ресурсам альтернативными способами. VPN или сеть Tor скрывают точку происхождения, а прокси-сервер перенаправляет трафик браузера в другую страну.

В составе ответа сервер передаёт заголовок Link, идентифицирующий сторону, которая блокирует запрос. Это та сторона, которая отвечает за блокировку содержимого, а не та, которая предписала блокировку. Сведения о стороне, установившей такое правило, размещаются в теле сообщения.

Влияние на SEO

Поисковые системы вроде Google не индексируют URL с кодом состояния ответа 451 Unavailable For Legal Reasons. Ранее проиндексированные с этим кодом URL удаляются из результатов поиска.

Применение в Microsoft Exchange ActiveSync

Сообщение об ошибке 451 Redirect означает, что клиент подключается не к тому серверу. Либо почтовый ящик пользователя недоступен с этого сервера, либо существует более подходящий по эффективности сервер.

Когда ответ содержит заголовок X-MS-Location, последующие запросы используют указанный в нём адрес. Без заголовка X-MS-Location выполняется полный процесс Autodiscover.

Пример

Клиент запрашивает ресурс, и сервер отвечает 451 Unavailable For Legal Reasons. Заголовок Link идентифицирует организацию, ответственную за блокировку содержимого.

Запрос

GET /tech-trial-updates HTTP/1.1
Host: example.com

Ответ

HTTP/1.1 451 Unavailable For Legal Reasons
Link: <https://example.com/legaldept>; rel="blocked-by"
Content-Type: text/html
Content-Length: 174

<html>
  <head>
    <title>Publication Ban</title>
  </head>
  <body>
   <p>The requested content is unavailable due
   to a government-ordered publication ban.</p>
  </body>
</html>

Как исправить

Технического решения на стороне клиента не существует. Сервер блокирует доступ, потому что ограничение предписано юридическим требованием. Сам ресурс остаётся на сервере в целости, но не отдаётся.

Прочитайте заголовок Link в ответе. Отношение rel=“blocked-by” указывает на организацию, применяющую блокировку (интернет-провайдер, DNS-провайдер или хостинговая платформа), а не на правовой орган, предписавший блокировку. Обратитесь к блокирующей стороне за подробностями о требовании.

Прочитайте тело ответа, где изложены правовые основания, сторона, предъявившая требование, и применимый закон или нормативный акт. Серверам рекомендуется включать эти сведения.

Доступ из другого географического региона в некоторых случаях обходит блокировки, действующие в конкретном регионе. VPN или сеть Tor направляют запросы через юрисдикцию, где ограничение не применяется.

Для операторов серверов

Возвращайте заголовок Link с rel=“blocked-by”, указывающий на организацию, отвечающую за применение блокировки:

Link: <https://legal.example.re>; rel="blocked-by"

Включите в тело ответа чёткое объяснение юридического требования: конкретный закон, предъявивший требование орган, а также классы затронутого содержимого или лиц.

Задайте подходящие заголовки кэширования. Добавьте Cache-Control: no-store, если правовой статус ресурса меняется часто.

Для Microsoft Exchange ActiveSync

Ответ 451 Redirect от Exchange означает, что клиент подключился не к тому серверу. Проверьте заголовок X-MS-Location в ответе и перенаправьте последующие запросы по указанному адресу. Без заголовка X-MS-Location заново выполните полный процесс Autodiscover, чтобы найти нужный сервер почтовых ящиков.

Примеры кода

.NET

HttpStatusCode.UnavailableForLegalReasons

Rust

http::StatusCode::UNAVAILABLE_FOR_LEGAL_REASONS

Rails

:unavailable_for_legal_reasons

Go

http.StatusUnavailableForLegalReasons

Symfony

Response::HTTP_UNAVAILABLE_FOR_LEGAL_REASONS

Python3.5+

http.HTTPStatus.UNAVAILABLE_FOR_LEGAL_REASONS

Apache HttpComponents Core

org.apache.hc.core5.http.HttpStatus
  .SC_UNAVAILABLE_FOR_LEGAL_REASONS

Angular

@angular/common/http/HttpStatusCode
  .UnavailableForLegalReasons