<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="rfc7991bis.rnc"?>
<?xml-stylesheet type="text/xsl" href="rfc2629.xslt"?>
<!DOCTYPE rfc [
  <!ENTITY nbsp    "&#160;">
  <!ENTITY zwsp   "&#8203;">
  <!ENTITY nbhy   "&#8209;">
  <!ENTITY wj     "&#8288;">
]>
<rfc
	xmlns:xi="http://www.w3.org/2001/XInclude"
	category="info"
	docName="draft-martin-http-carbon-emissions-scope-2-00"
	ipr="trust200902"
	obsoletes=""
	updates=""
	submissionType="IETF"
	xml:lang="en"
	version="3">


	<front>
		<title abbrev="HTTP Header: Carbon-Emissions-Scope-2">
			HTTP Response Header Field: Carbon-Emissions-Scope-2
		</title>
		<seriesInfo name="Internet-Draft" value="draft-martin-http-carbon-emissions-scope-2-00"/>
		<author fullname="Bertrand Martin" initials="B." role="editor" surname="Martin">
			<organization>Sentry Software</organization>
			<address>
				<postal>
					<country>France</country>
				</postal>
				<email>bertrand@sentrysoftware.com</email>
				<email>bertrandmartin@hotmail.com</email>
			</address>
		</author>
		<date year="2023" />
		<area>Applications and Real-Time Area</area>
		<workgroup>HTTP Working Group</workgroup>
		<keyword>HTTP, header, carbon emissions, Scope 2</keyword>
		<abstract>
			<t>
				This document defines the "Carbon-Emissions-Scope-2" HTTP response
				header field for reporting the amount of carbon emissions associated
				with processing a given HTTP request, as calculated according to the
				Scope 2 protocol outlined in ISO 14064-1:2006.
			</t>
		</abstract>
	</front>

	<middle>
		<section>
			<name>Introduction</name>
			<t>
				The growing awareness of the environmental impact of internet
				usage has led to increased interest in measuring and reducing the
				carbon footprint of web-based services. One way to achieve this
				goal is to report the carbon emissions associated with the
				processing of HTTP requests, so that service providers and
				consumers can make more informed decisions about their use of the
				web.
			</t>
			<t>
				This document defines the "Carbon-Emissions-Scope-2" HTTP response
				header field <xref target="RFC9110" /><xref target="RFC9112" />,
				which allows servers to report the amount of carbon
				emissions associated with the processing of a given HTTP request, and
				the building of the corresponding HTTP response, as calculated
				according to the Scope 2 protocol outlined in <xref target="ISO14064-1" />.
				The Scope 2 protocol provides a standardized method for quantifying and
				reporting the greenhouse gas emissions associated with the consumption
				of purchased or acquired electricity, steam, and heating or cooling. By
				reporting the carbon emissions associated with the processing of a
				request, web service providers can give consumers greater visibility
				into the environmental impact of their service.
			</t>

			<section anchor="requirements">
				<name>Requirements Language</name>
				<t>
					The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
					"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
					"OPTIONAL" in this document are to be interpreted as described in
					BCP 14 <xref target="RFC2119" /><xref target="RFC8174" /> when, and
					only when, they appear in all capitals, as shown here.
				</t>
			</section>
		</section>

		<section>
			<name>Header Field Definition</name>
			<t>
				The "Carbon-Emissions-Scope-2" header field is a response header
				field that indicates the amount of carbon emissions associated with
				the processing of a given HTTP request, as calculated according to the
				Scope 2 protocol outlined in <xref target="ISO14064-1" />.
				The value of this header field MUST be a non-negative decimal number
				expressed in grams of CO2-eq (carbon dioxide equivalent).
			</t>
			<t>
				A server MAY include the "Carbon-Emissions-Scope-2" header field
				in any response to an HTTP request. If a server includes the
				header field in a response, it indicates that the reported
				emissions are associated with the processing of the request,
				including any server-side processing and any use of energy by
				third-party services involved in serving the request.
			</t>
			<t>
				The header field MAY be included in any response status code.
				However, it is particularly useful in responses that include a
				representation of a resource, such as a web page or image, where
				the processing and delivery of the representation is likely to
				result in significant carbon emissions.
			</t>
			<t>
				The syntax of the "Carbon-Emissions-Scope-2" header field is as
				follows:
			</t>
			<figure>
				<name>Syntax for the "Carbon-Emissions-Scope-2" header field.</name>
				<artwork>
Carbon-Emissions-Scope-2 = grams-co2
grams-co2 = 1*DIGIT [ "." 1*3DIGIT ]
				</artwork>
			</figure>
			<t>
				The "grams-co2" value is the number of grams of CO2 emitted associated
				with the processing of the corresponding HTTP request, as calculated
				according to the Scope 2 protocol outlined in <xref target="ISO14064-1" />.
			</t>
		</section>

		<section>
			<name>IANA Considerations</name>
			<t>
				This document requests the registration of the
				"Carbon-Emissions-Scope-2" HTTP response header field in the
				"Hypertext Transfer Protocol (HTTP) Response Header Fields"
				registry maintained by the Internet Assigned Numbers Authority
				(IANA).
			</t>
			<t>
				The registration template for the "Carbon-Emissions-Scope-2"
				header field is as follows:
			</t>
			<figure>
				<name>
					Registration template for the "Carbon-Emissions-Scope-2" HTTP
					response header field.
				</name>
				<artwork>
Header field name: Carbon-Emissions-Scope-2

Applicable protocol: http

Status: standard

Author/Change controller: IETF

Specification document(s): This document

Related information: None
				</artwork>
			</figure>
		</section>

		<section>
			<name>Security Considerations</name>
			<t>
				The use of the "Carbon-Emissions-Scope-2" header field does not
				introduce any new security risks beyond those associated with
				the transmission of any HTTP response header field. However, it
				is important to note that the accuracy of the reported carbon
				emissions depends on the accuracy of the data used in the Scope 2
				calculation, as well as the accuracy of any assumptions
				made in the calculation. As such, an attacker could potentially
				attempt to manipulate the reported emissions by tampering with
				the data or assumptions used in the calculation, or by
				interfering with the energy sources used by the server or
				third-party services involved in serving the request.
			</t>
			<t>
				To mitigate these risks, it is important for servers to use
				accurate data and assumptions in their Scope 2 calculations and
				to protect the integrity and availability of their energy
				sources. Additionally, it may be useful to provide transparency
				and verification mechanisms to ensure the accuracy of reported
				emissions.
			</t>
		</section>

	</middle>
	<back>
		<references>
			<name>References</name>
			<references>
				<name>Normative References</name>
				<xi:include
					href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.8174.xml" />
			</references>

			<references>
				<name>Informative References</name>

				<reference anchor="ISO14064-1" target="https://www.iso.org/standard/66453.html">
					<front>
						<title>Greenhouse
							gases -- Part 1: Specification with guidance at the
							organization level for quantification and reporting of
							greenhouse gas emissions and removals</title>
						<author fullname="ISO">
							<organization>
								International Organization for Standardization
							</organization>
						</author>
						<date year="2018" />
						<abstract>
							<t>
								This document specifies principles and requirements at
								the organization level for the quantification and
								reporting of greenhouse gas (GHG) emissions and
								removals. It includes requirements for the design,
								development, management, reporting and verification of
								an organization's GHG inventory.
							</t>
							<t>
								The ISO 14064 series is GHG programme neutral. If a GHG
								programme is applicable, requirements of that GHG programme
								are additional to the requirements of the ISO 14064 series.
							</t>
						</abstract>
					</front>
				</reference>

				<xi:include
					href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.2119.xml" />

				<xi:include
					href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9110.xml" />

				<xi:include
					href="https://bib.ietf.org/public/rfc/bibxml/reference.RFC.9112.xml" />

			</references>
		</references>
	</back>
</rfc>