<?xml version="1.0" encoding="utf-8"?>

<!DOCTYPE rfc SYSTEM "xml2rfc/rfc2629.dtd" [
<!ENTITY rfc2119 SYSTEM 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml'>
<!ENTITY rfc2616 SYSTEM 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.2616.xml'>
<!ENTITY rfc4791 SYSTEM 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4791.xml'>
<!ENTITY rfc4918 SYSTEM 'http://xml.resource.org/public/rfc/bibxml/reference.RFC.4918.xml'>
]>

<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc tocdepth="1" ?>
<?rfc tocindent="yes" ?>
<?rfc symrefs="yes" ?>
<?rfc sortrefs="yes"?>
<?rfc iprnotified="no" ?>
<?rfc strict="yes" ?>
<?rfc compact="yes" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>

<rfc ipr="trust200902" 
     docName="draft-tbray-http-legally-restricted-status-00" 
     category="std"
     updates="2616">

  <front>
    <title abbrev="415">A New HTTP Status Code for Legally-restricted Resources</title>
    <author initials="T." surname="Bray" fullname="Tim Bray">
      <organization>Google</organization>
      <address>
	<email>tbray@textuality.com</email>
	<uri>http://www.tbray.org/ongoing/</uri>
      </address>
    </author>


    <date year="2012"/>
    <abstract>

      <t>This document specifies an additional Hypertext Transfer Protocol (HTTP) 
      status code for use when resource access is denied for legal reasons.</t>

    </abstract>
  </front>

  <middle>

    <section title="Introduction">
      <t>This document specifies an additional Hypertext Transfer Protocol (HTTP) 
      status code for use when resource access is denied for legal reasons.
      This allows server operators to operate with greater transparency
      in circumstances where issues of law or public policy affect their
      operation. This transparency may be beneficial both to these operators
      and to end users.</t>
      
      <t>Feedback should occur on the ietf-http-wg@w3.org mailing list,
      although this draft is NOT a work item of the IETF HTTPbis Working
      Group. </t>
    </section>

    <section title="Requirements">
      <t>The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
      NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in
      this document are to be interpreted as described in <xref
      target="RFC2119"/>.</t>
    </section>


    <section title="451 Unavailable For Legal Reasons">
      <t>This status code indicates that the server is subject to
      legal restrictions which prevent it servicing the request.</t>
      
      <t>Since such restrictions typically apply to all operators in a
      legal jurisdiction, the server in question may or may not be an
      origin server.  The restrictions typically most directly affect
      the operations of ISPs and search engines.</t>

      <t>Responses using this status code SHOULD include an explanation,
      in the response body, of the details of the legal restriction; which
      legal authority is imposing it, and what class of resources it applies
      to.  For example:</t>

      <figure><artwork xml:space="preserve"><![CDATA[
HTTP/1.1 451 Unavailable For Legal Reasons
Content-Type: text/html

<html>
<head>
<title>Unavailable For Legal Reasons</title>
</head>
<body>
<h1>Unavailable For Legal Reasons</h1>
<p>This request may not be serviced in the Roman Province of 
Judea due to Lex3515, the Legem Ne Subversionem Act of AUC755, 
which disallows access to resources hosted on servers deemed 
to be operated by the Judean Liberation Front.</p>
</body>
</html>
]]></artwork></figure>

<t>The use of the 451 status code implies neither the existence nor
non-existence of the resource named in the request. That is to say,
it is possible that if the legal restriction were removed,
a request for the resource might still not succeed.</t>
    </section>



    <section title="Security Considerations">

      <section title="451 Unavailable for Legal Reasons">
	<t>The 451 status code is optional; clients cannot rely upon its
	use. It is imaginable that certain legal authorities may wish
	to avoid transparency, and not only forbid access to certain
	resources, but also disclosure that the restriction exists.
	</t>
      </section>


    </section>

    <section title="IANA Considerations">
      <t>The HTTP Status Codes Registry should be updated with the
      following entries:</t>

      <t><list style="symbols">
	<t>Code: 451</t>
	<t>Description: Unavailable for Legal Reasons</t>
	<t>Specification: [ this document ]</t>
      </list></t>
    </section>

  </middle>

  <back>
    <references title="Normative References">
      &rfc2119; <!-- &rfc2616; -->
    </references>


    <section title="Acknowledgements">
      <t>Thanks to Terence Eden, whose blog observed that the existing
      status code 403 was not really suitable for this situation, and
      suggested the creation of a new status code</t>
      <t>Thanks also to Ray Bradbury.</t>
      <t>The author takes all responsibility for errors and
      omissions.</t>
    </section>


  </back>
</rfc>
