1
⚠️ Пост выходного дня: 451 – Код HTTP для цензуры.
• А вы знали, что из 75 кодов статусов HTTP на практике используется около десяти. Но сейчас все чаще встречается код 451 – Unavailable For Legal Reasons (страница недоступна по юридическим причинам). Например, он выдается при попытке скачать IDE от JetBrains или прочитать статью на Хабре об обходе блокировок.
• Когда-то в HTTP не было выделенного кода статуса для цензуры, применялся код 403 Forbidden. Например, чтобы ограничить доступ к пиратскому ресурсу The Pirate Bay. Но в 2012 году Теренс Иден в заметке «There is no HTTP code for censorship (but perhaps there should be)» обратил внимание что код 403 содержательно не соответствует ситуации.
• Во-первых, класс кодов статусов 4ХХ предназначен для случаев, когда ошибся клиент. Но в данном случае ошибки клиента нет.
• Во-вторых, в описании кода 403 сказано, что он должен выдаваться, когда сервер понял запрос, но отказывается выполнять его. Юридические ограничения часто реализуются провайдерами, в таком случае сервер даже не получает запрос.
• Теренс Иден посчитал целесообразным выделить отдельный код ответа HTTP для указания юридических ограничений и предложил несколько вариантов:
➡HTTP 112 - Emergency. Censorship in action, чрезвычайная ситуация, цензура в действии (в Европе телефон 112 используется для сообщения о чрезвычайных ситуациях).
➡HTTP 460 - Blocked by Repressive Regime, заблокировано репрессивным режимом.
➡HTTP 560 - Server is being censored, сервер находится под цензурой.
➡HTTP 911 - Internet Emergency, чрезвычайная ситуация в интернет (телефон 911 используется для сообщения о чрезвычайных ситуациях в США).
• Аргументацию Теренса Идена посчитали правильной и в 2016 году IETF принял документ RFC 7725 «An HTTP Status Code to Report Legal Obstacles». В этом документе для указания ограничений по юридическим причинам предлагается использовать код 451. В разделе благодарностей RFC 7725 указаны Теренс Иден и Рэй Брэдбери.
#Разное