Abstract

The identification of resources in the Web via URIs [RFC3986] may not be sufficient to uniquely resolve a document as other factors might come into play like HTTP content negotiation according to pre-defined user characteristics. This issue is particularly important for conformance testing, conformance claims and reporting languages like the Evaluation and Report Language (EARL, [EARL Schema]) when they address Web resources. This document describes a representation of HTTP concepts in RDF that will serve to the purpose mentioned earlier, as it can allow the identification of resources served via the HTTP protocol. The proposed vocabulary also includes HTTPS and some extensions to HTTP outside the standard RFCs.

Status of this document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

More things to be added later ...


Table of Contents

To be defined at a later stage ...


1 Introduction

This note presents an RDF representation of the HTTP headers that can support the unique identification of Web resources when the sole use of an URI [RFC3986] may not suffice due to common content negotiation techniques used by most browsers nowadays. It also will help to identify complex Web resources like form responses, which need, for example, information on the POST request used and the sent parameters. This document is not intended to be a clarification of the different concepts of the HTTP specification [RFC2616].

Use cases discussion? E.g., EARL, conformance claims, Web Services in the Semantic Web, ...

2. HTTP/1.1 Classes and properties

2.1 The Request class

The Request class represents an HTTP request. There are eight subclasses derived from the Request class, one for each request type defined in [RFC2616]:

2.1.1 The Request properties

The following properties may appear in nodes of type Request.

There's still discussion about whether to use a single property for the URI or have a more verbose approach (scheme, user-info, host, port, path, query, fragment).

2.2 The Response class

The Response class represents an HTTP response.

2.2.1 The Response properties

The following properties may appear in nodes of type Response:

2.3 The header property

The header property represents an HTTP header. There is a property derived from the header property for every header defined in [RFC2616].

The following properties may appear in nodes of type Request:

The following properties may appear in nodes of type Response:

The following properties may appear in nodes of type Request or Response:

2.4 The body property

The body property represents an HTTP entity body. It can appear in nodes of both type Request or Response. HTTP bodies are series of bytes, thus we need to translate that to a string of text with a given encoding to make it representable in RDF. The body is then represented by an anonymous Resource with two properties:

Is it necessary to allow different encoding schemes? Otherwise we could use just a bodyBase64 property instead.

3. Extensions to HTTP

There are quite a lot of headers used in HTTP, which are not defined in the HTTP/1.1 specification itself. The following lists contain properties for headers listed in [RFC4229].

The following extension properties may appear in nodes of type Request:

The following extension properties may appear in nodes of type Response:

The following extension properties may appear in nodes of type Request or Response:

3.1 The Field class

The Field class represents a field. It resides in a separate namespace and can have the following properties:

3.2 The additionalHeader property

For headers not defined in HTTP/1.1 or any of the previous extensions, you can use the additionalHeader property in both Request and Response classes. The object of this property is of type Field as defined in [3.1 The Field class]. See the use of the additionalHeader property in the Response class in the example below.

4. The uri property

The uri property describes a Uniform Resource Identifier as defined in in [RFC3986]. It resides in its own namespace and is not restricted to HTTP URIs.

5. Example

The following example shows an RDF/XML representation of an HTTP request/response pair. A client requests a resource in the document root (/) at www.example.org port 80 via HTTP/1.1. With the request it sends request headers. The server uses content negotiation. Some of the request headers (accept and accept-language) are relevant for the creation or choice of the result as indicated by the vary reponse header. So at least these request headers are recorded in the representation of the request. In addition to the content-type and vary headers the server sends an unknown header (x-foo) which appears as an RFC822 Field in the RDF representation. The bodyContent property contains the result of a Base64 transformation of the returned byte sequence.

<?xml version="1.0" encoding="utf-8"?>
<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:http="http://www.w3.org/1999/xx/http#"
  xmlns:uri="http://www.example.org/uri#"
  xmlns:rfc822="http://www.example.org/rfc822#">
  <http:GetRequest>
    <uri:uri>http://www.example.org:80/</uri:uri>
    <http:version>1.1</http:version>
    <http:accept>text/html;q=1.0, */*;q=0.01</http:accept>
    <http:accept-language>de-DE;q=1.0, de;q=0.75, en-GB;q=0.5,
      en;q=0.25, *;q=0.01</http:accept-language>
  </http:GetRequest>
  <http:Response>
    <http:content-type>text/html;charset=utf-8</http:content-type>
    <http:vary>accept, accept-language</http:vary>
    <http:additionalHeader>
      <rfc822:Field>
        <rfc822:fieldName>x-foo</rfc822:fieldName>
        <rfc822:fieldBody>bar</rfc822:fieldBody>
      </rfc822:Field>
    </http:additionalHeader>
    <http:body rdf:parseType="Resource">
      <http:bodyContent><![CDATA[aksgbq3833o3gbo4zgblakc8t9ut2]]></http:bodyContent>
      <http:bodyEncoding>Base64</http:bodyEncoding>
    </http:body>
  </http:Response>
</rdf:RDF>

6. RDF Schema

5.1 Schema for HTTP

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY http-ns "http://www.w3.org/1999/xx/http#">
  <!ENTITY rfc822-ns "http://www.example.org/rfc822#">
]>
<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

<rdf:Description rdf:about="&http-ns;">
 <rdfs:comment>A namespace for describing HTTP messages
   (http://www.w3.org/Protocols/rfc2616/rfc2616.html)</rdfs:comment>
</rdf:Description>


<rdfs:Class rdf:about="&http-ns;Request">
  <rdfs:label xml:lang="en">Request</rdfs:label>
  <rdfs:comment>An HTTP request</rdfs:comment>
</rdfs:Class>

<!-- request methods start -->
<rdfs:Class rdf:about="&http-ns;OptionsRequest">
  <rdfs:label xml:lang="en">Options</rdfs:label>
  <rdfs:comment>The OPTIONS request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;GetRequest">
  <rdfs:label xml:lang="en">Get</rdfs:label>
  <rdfs:comment>The GET request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;HeadRequest">
  <rdfs:label xml:lang="en">Head</rdfs:label>
  <rdfs:comment>The HEAD request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;PostRequest">
  <rdfs:label xml:lang="en">Post</rdfs:label>
  <rdfs:comment>The POST request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;PutRequest">
  <rdfs:label xml:lang="en">Put</rdfs:label>
  <rdfs:comment>The PUT request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;DeleteRequest">
  <rdfs:label xml:lang="en">Delete</rdfs:label>
  <rdfs:comment>The DELETE request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;TraceRequest">
  <rdfs:label xml:lang="en">Trace</rdfs:label>
  <rdfs:comment>The TRACE request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>

<rdfs:Class rdf:about="&http-ns;ConnectRequest">
  <rdfs:label xml:lang="en">Connect</rdfs:label>
  <rdfs:comment>The CONNECT request</rdfs:comment>
  <rdfs:subClassOf rdf:resource="&http-ns;Request"/>
</rdfs:Class>
<!-- request methods end -->


<rdf:Property rdf:about="&http-ns;version">
  <rdfs:label xml:lang="en">Version</rdfs:label>
  <rdfs:comment>The HTTP version</rdfs:comment>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>


<rdfs:Class rdf:about="&http-ns;Response">
  <rdfs:label xml:lang="en">Response</rdfs:label>
  <rdfs:comment>The HTTP Response</rdfs:comment>
</rdfs:Class>


<rdf:Property rdf:about="&http-ns;responseCode">
  <rdfs:label xml:lang="en">Response code</rdfs:label>
  <rdfs:comment>An HTTP response code</rdfs:comment>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>


<rdf:Property rdf:about="&http-ns;header">
  <rdfs:label xml:lang="en">Header</rdfs:label>
  <rdfs:comment>An HTTP header</rdfs:comment>
</rdf:Property>

<!-- HTTP 1.1 headers start -->
<rdf:Property rdf:about="&http-ns;accept">
  <rdfs:label xml:lang="en">Accept</rdfs:label>
  <rdfs:comment>The Accept header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;accept-charset">
  <rdfs:label xml:lang="en">Accept-Charset</rdfs:label>
  <rdfs:comment>The Accept-Charset header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;accept-encoding">
  <rdfs:label xml:lang="en">Accept-Encoding</rdfs:label>
  <rdfs:comment>The Accept-Encoding header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;accept-language">
  <rdfs:label xml:lang="en">Accept-Language</rdfs:label>
  <rdfs:comment>The Accept-Language header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;accept-ranges">
  <rdfs:label xml:lang="en">Accept-Ranges</rdfs:label>
  <rdfs:comment>The Accept-Ranges header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;age">
  <rdfs:label xml:lang="en">Age</rdfs:label>
  <rdfs:comment>The Age header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;allow">
  <rdfs:label xml:lang="en">Allow</rdfs:label>
  <rdfs:comment>The Allow header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;authorization">
  <rdfs:label xml:lang="en">Authorization</rdfs:label>
  <rdfs:comment>The Authorization header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;cache-control">
  <rdfs:label xml:lang="en">Cache-Control</rdfs:label>
  <rdfs:comment>The Cache-Control header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;connection">
  <rdfs:label xml:lang="en">Connection</rdfs:label>
  <rdfs:comment>The Connection header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-encoding">
  <rdfs:label xml:lang="en">Content-Encoding</rdfs:label>
  <rdfs:comment>The Content-Encoding header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-language">
  <rdfs:label xml:lang="en">Content-Language</rdfs:label>
  <rdfs:comment>The Content-Language header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-length">
  <rdfs:label xml:lang="en">Content-Length</rdfs:label>
  <rdfs:comment>The Content-Length header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-location">
  <rdfs:label xml:lang="en">Content-Location</rdfs:label>
  <rdfs:comment>The Content-Location header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-md5">
  <rdfs:label xml:lang="en">Content-MD5</rdfs:label>
  <rdfs:comment>The Content-MD5 header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-range">
  <rdfs:label xml:lang="en">Content-Range</rdfs:label>
  <rdfs:comment>The Content-Range header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-type">
  <rdfs:label xml:lang="en">Content-Type</rdfs:label>
  <rdfs:comment>The Content-Type header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;date">
  <rdfs:label xml:lang="en">Date</rdfs:label>
  <rdfs:comment>The Date header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;etag">
  <rdfs:label xml:lang="en">ETag</rdfs:label>
  <rdfs:comment>The ETag header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;expect">
  <rdfs:label xml:lang="en">Expect</rdfs:label>
  <rdfs:comment>The Expect header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;expires">
  <rdfs:label xml:lang="en">Expires</rdfs:label>
  <rdfs:comment>The Expires header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;from">
  <rdfs:label xml:lang="en">From</rdfs:label>
  <rdfs:comment>The From header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;host">
  <rdfs:label xml:lang="en">Host</rdfs:label>
  <rdfs:comment>The Host header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if-match">
  <rdfs:label xml:lang="en">If-Match</rdfs:label>
  <rdfs:comment>The If-Match header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if-modified-since">
  <rdfs:label xml:lang="en">If-Modified-Since</rdfs:label>
  <rdfs:comment>The If-Modified-Since header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if-none-match">
  <rdfs:label xml:lang="en">If-None-Match</rdfs:label>
  <rdfs:comment>The If-None-Match header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if-range">
  <rdfs:label xml:lang="en">If-Range</rdfs:label>
  <rdfs:comment>The If-Range header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if-unmodified-since">
  <rdfs:label xml:lang="en">If-Unmodified-Since</rdfs:label>
  <rdfs:comment>The If-Unmodified-Since header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;last-modified">
  <rdfs:label xml:lang="en">Last-Modified</rdfs:label>
  <rdfs:comment>The Last-Modified header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;location">
  <rdfs:label xml:lang="en">Location</rdfs:label>
  <rdfs:comment>The Location header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;max-forwards">
  <rdfs:label xml:lang="en">Max-Forwards</rdfs:label>
  <rdfs:comment>The Max-Forwards header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;mime-version">
  <rdfs:label xml:lang="en">MIME-Version</rdfs:label>
  <rdfs:comment>The MIME-Version header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;pragma">
  <rdfs:label xml:lang="en">Pragma</rdfs:label>
  <rdfs:comment>The Pragma header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;proxy-authenticate">
  <rdfs:label xml:lang="en">Proxy-Authenticate</rdfs:label>
  <rdfs:comment>The Proxy-Authenticate header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;proxy-authorization">
  <rdfs:label xml:lang="en">Proxy-Authorization</rdfs:label>
  <rdfs:comment>The Proxy-Authorization header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;range">
  <rdfs:label xml:lang="en">Range</rdfs:label>
  <rdfs:comment>The Range header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;referer">
  <rdfs:label xml:lang="en">Referer</rdfs:label>
  <rdfs:comment>The Referer header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;retry-after">
  <rdfs:label xml:lang="en">Retry-After</rdfs:label>
  <rdfs:comment>The Retry-After header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;server">
  <rdfs:label xml:lang="en">Server</rdfs:label>
  <rdfs:comment>The Server header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;te">
  <rdfs:label xml:lang="en">TE</rdfs:label>
  <rdfs:comment>The TE header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;trailer">
  <rdfs:label xml:lang="en">Trailer</rdfs:label>
  <rdfs:comment>The Trailer header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;transfer-encoding">
  <rdfs:label xml:lang="en">Transfer-Encoding</rdfs:label>
  <rdfs:comment>The Transfer-Encoding header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;upgrade">
  <rdfs:label xml:lang="en">Upgrade</rdfs:label>
  <rdfs:comment>The Upgrade header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;user-agent">
  <rdfs:label xml:lang="en">User-Agent</rdfs:label>
  <rdfs:comment>The User-Agent header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;vary">
  <rdfs:label xml:lang="en">Vary</rdfs:label>
  <rdfs:comment>The Vary header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;via">
  <rdfs:label xml:lang="en">Via</rdfs:label>
  <rdfs:comment>The Via header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;warning">
  <rdfs:label xml:lang="en">Warning</rdfs:label>
  <rdfs:comment>The Warning header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;www-authenticate">
  <rdfs:label xml:lang="en">WWW-Authenticate</rdfs:label>
  <rdfs:comment>The WWW-Authenticate header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- HTTP 1.1 headers end -->

<!-- RFC2068 headers start -->
<rdf:Property rdf:about="&http-ns;content-base">
  <rdfs:label xml:lang="en">Content-Base</rdfs:label>
  <rdfs:comment>The Content-Base header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-version">
  <rdfs:label xml:lang="en">Content-Version</rdfs:label>
  <rdfs:comment>The Content-Version header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;derived-from">
  <rdfs:label xml:lang="en">Derived-From</rdfs:label>
  <rdfs:comment>The Derived-From header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;link">
  <rdfs:label xml:lang="en">Link</rdfs:label>
  <rdfs:comment>The Link header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;public">
  <rdfs:label xml:lang="en">Public</rdfs:label>
  <rdfs:comment>The Public header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;uri">
  <rdfs:label xml:lang="en">URI</rdfs:label>
  <rdfs:comment>The URI header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2068 headers end -->

<!-- RFC2109 headers start -->
<rdf:Property rdf:about="&http-ns;set-cookie">
  <rdfs:label xml:lang="en">Set-Cookie</rdfs:label>
  <rdfs:comment>The Set-Cookie header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2109 headers end -->

<!-- RFC2227 headers start -->
<rdf:Property rdf:about="&http-ns;meter">
  <rdfs:label xml:lang="en">Meter</rdfs:label>
  <rdfs:comment>The Meter header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2227 headers end -->

<!-- RFC2295 headers start -->
<rdf:Property rdf:about="&http-ns;accept-features">
  <rdfs:label xml:lang="en">Accept-Features</rdfs:label>
  <rdfs:comment>The Accept-Features header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;alternates">
  <rdfs:label xml:lang="en">Alternates</rdfs:label>
  <rdfs:comment>The Alternates header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;negotiate">
  <rdfs:label xml:lang="en">Negotiate</rdfs:label>
  <rdfs:comment>The Negotiate header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;tcn">
  <rdfs:label xml:lang="en">TCN</rdfs:label>
  <rdfs:comment>The TCN header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;variant-vary">
  <rdfs:label xml:lang="en">Variant-Vary</rdfs:label>
  <rdfs:comment>The Variant-Vary header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2295 headers end -->

<!-- RFC2310 headers start -->
<rdf:Property rdf:about="&http-ns;safe">
  <rdfs:label xml:lang="en">Safe</rdfs:label>
  <rdfs:comment>The Safe header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2310 headers end -->

<!-- RFC2324 headers start -->
<rdf:Property rdf:about="&http-ns;accept-additions">
  <rdfs:label xml:lang="en">Accept-Additions</rdfs:label>
  <rdfs:comment>The Accept-Additions header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- RFC2324 headers end -->

<!-- RFC2518 headers start -->
<rdf:Property rdf:about="&http-ns;dav">
  <rdfs:label xml:lang="en">DAV</rdfs:label>
  <rdfs:comment>The DAV header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;depth">
  <rdfs:label xml:lang="en">Depth</rdfs:label>
  <rdfs:comment>The Depth header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;destination">
  <rdfs:label xml:lang="en">Destination</rdfs:label>
  <rdfs:comment>The Destination header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;if">
  <rdfs:label xml:lang="en">If</rdfs:label>
  <rdfs:comment>The If header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;lock-token">
  <rdfs:label xml:lang="en">Lock-Token</rdfs:label>
  <rdfs:comment>The Lock-Token header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;overwrite">
  <rdfs:label xml:lang="en">Overwrite</rdfs:label>
  <rdfs:comment>The Overwrite header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;status-uri">
  <rdfs:label xml:lang="en">Status-URI</rdfs:label>
  <rdfs:comment>The Status-URI header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;timeout">
  <rdfs:label xml:lang="en">Timeout</rdfs:label>
  <rdfs:comment>The Timeout header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2518 headers end -->

<!-- RFC2617 headers start -->
<rdf:Property rdf:about="&http-ns;authentication-info">
  <rdfs:label xml:lang="en">Authentication-Info</rdfs:label>
  <rdfs:comment>The Authentication-Info header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;proxy-authentication-info">
  <rdfs:label xml:lang="en">Proxy-Authentication-Info</rdfs:label>
  <rdfs:comment>The Proxy-Authentication-Info header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2617 headers end -->

<!-- RFC2660 headers start -->
<rdf:Property rdf:about="&http-ns;security-scheme">
  <rdfs:label xml:lang="en">Security-Scheme</rdfs:label>
  <rdfs:comment>The Security-Scheme header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2660 headers end -->

<!-- RFC2774 headers start -->
<rdf:Property rdf:about="&http-ns;c-ext">
  <rdfs:label xml:lang="en">C-Ext</rdfs:label>
  <rdfs:comment>The C-Ext header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;c-man">
  <rdfs:label xml:lang="en">C-Man</rdfs:label>
  <rdfs:comment>The C-Man header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;c-opt">
  <rdfs:label xml:lang="en">C-Opt</rdfs:label>
  <rdfs:comment>The C-Opt header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;ext">
  <rdfs:label xml:lang="en">Ext</rdfs:label>
  <rdfs:comment>The Ext header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;man">
  <rdfs:label xml:lang="en">Man</rdfs:label>
  <rdfs:comment>The Man header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;opt">
  <rdfs:label xml:lang="en">Opt</rdfs:label>
  <rdfs:comment>The Opt header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- RFC2774 headers end -->

<!-- RFC2965 headers start -->
<rdf:Property rdf:about="&http-ns;cookie">
  <rdfs:label xml:lang="en">Cookie</rdfs:label>
  <rdfs:comment>The Cookie header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;cookie2">
  <rdfs:label xml:lang="en">Cookie2</rdfs:label>
  <rdfs:comment>The Cookie2 header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;set-cookie2">
  <rdfs:label xml:lang="en">Set-Cookie2</rdfs:label>
  <rdfs:comment>The Set-Cookie2 header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC2965 headers end -->

<!-- RFC3229 headers start -->
<rdf:Property rdf:about="&http-ns;a-im">
  <rdfs:label xml:lang="en">A-IM</rdfs:label>
  <rdfs:comment>The A-IM header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;delta-base">
  <rdfs:label xml:lang="en">Delta-Base</rdfs:label>
  <rdfs:comment>The Delta-Base header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;im">
  <rdfs:label xml:lang="en">IM</rdfs:label>
  <rdfs:comment>The IM header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- RFC3229 headers end -->

<!-- RFC3230 headers start -->
<rdf:Property rdf:about="&http-ns;digest">
  <rdfs:label xml:lang="en">Digest</rdfs:label>
  <rdfs:comment>The Digest header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;want-digest">
  <rdfs:label xml:lang="en">Want-Digest</rdfs:label>
  <rdfs:comment>The Want-Digest header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- RFC3230 headers end -->

<!-- RFC3253 headers start -->
<rdf:Property rdf:about="&http-ns;label">
  <rdfs:label xml:lang="en">Label</rdfs:label>
  <rdfs:comment>The Label header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- RFC3253 headers end -->

<!-- RFC3648 headers start -->
<rdf:Property rdf:about="&http-ns;ordering-type">
  <rdfs:label xml:lang="en">Ordering-Type</rdfs:label>
  <rdfs:comment>The Ordering-Type header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;position">
  <rdfs:label xml:lang="en">Position</rdfs:label>
  <rdfs:comment>The Position header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- RFC3648 headers end -->

<!-- DRP headers start -->
<!-- http://www.w3.org/TR/NOTE-drp-19970825 -->
<rdf:Property rdf:about="&http-ns;content-id">
  <rdfs:label xml:lang="en">Content-ID</rdfs:label>
  <rdfs:comment>The Content-ID header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;differential-id">
  <rdfs:label xml:lang="en">Differential-ID</rdfs:label>
  <rdfs:comment>The Differential-ID header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- DRP headers end -->

<!-- Duplicate Suppression headers start -->
<!-- http://www.ietf.org/proceedings/98dec/I-D/draft-mogul-http-dupsup-00.txt -->
<rdf:Property rdf:about="&http-ns;subok">
  <rdfs:label xml:lang="en">SubOK</rdfs:label>
  <rdfs:comment>The SubOK header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <!--rdfs:domain rdf:resource="&http-ns;Request"/-->
</rdf:Property>

<rdf:Property rdf:about="&http-ns;subst">
  <rdfs:label xml:lang="en">Subst</rdfs:label>
  <rdfs:comment>The Subst header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <!--rdfs:domain rdf:resource="&http-ns;Request"/-->
</rdf:Property>
<!-- Duplicate Suppression headers end -->

<!-- Exploration of dynamic documents headers start -->
<rdf:Property rdf:about="&http-ns;refresh">
  <rdfs:label xml:lang="en">Refresh</rdfs:label>
  <rdfs:comment>The Refresh header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <!rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- Exploration of dynamic documents headers end -->

<!-- edge-arch headers start -->
<!-- http://www.w3.org/TR/2001/NOTE-edge-arch-20010804 -->
<rdf:Property rdf:about="&http-ns;surrogate-capability">
  <rdfs:label xml:lang="en">Surrogate-Capability</rdfs:label>
  <rdfs:comment>The Surrogate-Capability header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;surrogate-control">
  <rdfs:label xml:lang="en">Surrogate-Control</rdfs:label>
  <rdfs:comment>The Surrogate-Control header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- edge-arch headers end -->

<!-- HTML 4 headers start -->
<!-- http://www.w3.org/TR/1999/REC-html401-19991224/ -->
<rdf:Property rdf:about="&http-ns;content-script-type">
  <rdfs:label xml:lang="en">Content-Script-Type</rdfs:label>
  <rdfs:comment>The Content-Script-Type header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;content-style-type">
  <rdfs:label xml:lang="en">Content-Style-Type</rdfs:label>
  <rdfs:comment>The Content-Style-Type header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;default-style">
  <rdfs:label xml:lang="en">Default-Style</rdfs:label>
  <rdfs:comment>The Default-Style header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- HTML 4 headers end -->

<!-- Object Headers headers start -->
<!-- http://www.w3.org/Protocols/HTTP/Object_Headers.html -->
<rdf:Property rdf:about="&http-ns;content-transfer-encoding">
  <rdfs:label xml:lang="en">Content-Transfer-Encoding</rdfs:label>
  <rdfs:comment>The Content-Transfer-Encoding header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;cost">
  <rdfs:label xml:lang="en">Cost</rdfs:label>
  <rdfs:comment>The Cost header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;message-id">
  <rdfs:label xml:lang="en">Message-ID</rdfs:label>
  <rdfs:comment>The Message-ID header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;title">
  <rdfs:label xml:lang="en">Title</rdfs:label>
  <rdfs:comment>The Title header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;version">
  <rdfs:label xml:lang="en">Version</rdfs:label>
  <rdfs:comment>The Version header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- Object Headers headers end -->

<!-- OPS over HTTP headers start -->
<!-- http://www.w3.org/TR/NOTE-OPS-OverHTTP -->
<rdf:Property rdf:about="&http-ns;getprofile">
  <rdfs:label xml:lang="en">GetProfile</rdfs:label>
  <rdfs:comment>The GetProfile header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;profileobject">
  <rdfs:label xml:lang="en">ProfileObject</rdfs:label>
  <rdfs:comment>The ProfileObject header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;setprofile">
  <rdfs:label xml:lang="en">SetProfile</rdfs:label>
  <rdfs:comment>The SetProfile header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- OPS over HTTP headers end -->

<!-- OPTIONS messages headers start -->
<!-- http://www.watersprings.org/pub/id/draft-ietf-http-options-02.txt -->
<rdf:Property rdf:about="&http-ns;compliance">
  <rdfs:label xml:lang="en">Compliance</rdfs:label>
  <rdfs:comment>The Compliance header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <!--rdfs:domain rdf:resource="&http-ns;Response"/-->
</rdf:Property>

<rdf:Property rdf:about="&http-ns;non-compliance">
  <rdfs:label xml:lang="en">Non-Compliance</rdfs:label>
  <rdfs:comment>The Non-Compliance header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <!--rdfs:domain rdf:resource="&http-ns;Response"/-->
</rdf:Property>
<!-- OPTIONS messages headers end -->

<!-- P3P headers start -->
<!-- http://www.w3.org/TR/2002/REC-P3P-20020416/ -->
<rdf:Property rdf:about="&http-ns;p3p">
  <rdfs:label xml:lang="en">P3P</rdfs:label>
  <rdfs:comment>The P3P header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- P3P headers end -->

<!-- PEP headers start -->
<!-- http://www.w3.org/TR/WD-http-pep-970526 -->
<rdf:Property rdf:about="&http-ns;c-pep">
  <rdfs:label xml:lang="en">C-PEP</rdfs:label>
  <rdfs:comment>The C-PEP header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;c-pep-info">
  <rdfs:label xml:lang="en">C-PEP-Info</rdfs:label>
  <rdfs:comment>The C-PEP-Info header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;pep">
  <rdfs:label xml:lang="en">PEP</rdfs:label>
  <rdfs:comment>The PEP header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;pep-info">
  <rdfs:label xml:lang="en">Pep-Info</rdfs:label>
  <rdfs:comment>The Pep-Info header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- PEP headers end -->

<!-- PICSLabels headers start -->
<!-- http://www.w3.org/TR/WD-http-pep-960820 -->
<!-- http://www.w3.org/TR/REC-PICS-labels-961031 -->
<rdf:Property rdf:about="&http-ns;pics-label">
  <rdfs:label xml:lang="en">PICS-Label</rdfs:label>
  <rdfs:comment>The PICS-Label header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;protocol">
  <rdfs:label xml:lang="en">Protocol</rdfs:label>
  <rdfs:comment>The Protocol header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;protocol-request">
  <rdfs:label xml:lang="en">Protocol-Request</rdfs:label>
  <rdfs:comment>The Protocol-Request header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- PICSLabels headers end -->

<!-- Proxy Notification headers start -->
<!-- http://www.w3.org/TR/WD-proxy-960221 -->
<rdf:Property rdf:about="&http-ns;proxy-features">
  <rdfs:label xml:lang="en">Proxy-Features</rdfs:label>
  <rdfs:comment>The Proxy-Features header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;proxy-instruction">
  <rdfs:label xml:lang="en">Proxy-Instruction</rdfs:label>
  <rdfs:comment>The Proxy-Instruction header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- Proxy Notification headers end -->

<!-- Selecting Payment Mechanisms headers start -->
<!-- http://www.w3.org/TR/WD-http-pep-960820 -->
<!-- http://www.w3.org/TR/NOTE-jepi-970519 -->
<rdf:Property rdf:about="&http-ns;protocol-info">
  <rdfs:label xml:lang="en">Protocol-Info</rdfs:label>
  <rdfs:comment>The Protocol-Info header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;protocol-query">
  <rdfs:label xml:lang="en">Protocol-Query</rdfs:label>
  <rdfs:comment>The Protocol-Query header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- Selecting Payment Mechanisms headers end -->

<!-- SOAP headers start -->
<!-- http://www.w3.org/TR/2000/NOTE-SOAP-20000508 -->
<rdf:Property rdf:about="&http-ns;soapaction">
  <rdfs:label xml:lang="en">SoapAction</rdfs:label>
  <rdfs:comment>The SoapAction header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- SOAP headers end -->

<!-- UA Attributes headers start -->
<!-- http://www.watersprings.org/pub/id/draft-mutz-http-attributes-00.txt -->
<rdf:Property rdf:about="&http-ns;ua-color">
  <rdfs:label xml:lang="en">UA-Color</rdfs:label>
  <rdfs:comment>The UA-Color header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;ua-media">
  <rdfs:label xml:lang="en">UA-Media</rdfs:label>
  <rdfs:comment>The UA-Media header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;ua-pixels">
  <rdfs:label xml:lang="en">UA-Pixels</rdfs:label>
  <rdfs:comment>The UA-Pixels header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;ua-resolution">
  <rdfs:label xml:lang="en">UA-Resolution</rdfs:label>
  <rdfs:comment>The UA-Resolution header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;ua-windowpixels">
  <rdfs:label xml:lang="en">UA-Windowpixels</rdfs:label>
  <rdfs:comment>The UA-Windowpixels header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>
<!-- UA Attributes headers end -->

<!-- WIRE headers start -->
<!-- http://www.ietf.org/proceedings/98dec/I-D/draft-girod-w3-id-res-ext-00.txt -->
<rdf:Property rdf:about="&http-ns;optional">
  <rdfs:label xml:lang="en">Optional</rdfs:label>
  <rdfs:comment>The Optional header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;resolution-hint">
  <rdfs:label xml:lang="en">Resolution-Hint</rdfs:label>
  <rdfs:comment>The Resolution-Hint header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Request"/>
</rdf:Property>

<rdf:Property rdf:about="&http-ns;resolver-location">
  <rdfs:label xml:lang="en">Resolver-Location</rdfs:label>
  <rdfs:comment>The Resolver-Location header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:domain rdf:resource="&http-ns;Response"/>
</rdf:Property>
<!-- WIRE headers end -->


<!-- additional headers start -->
<rdf:Property rdf:about="&http-ns;additionalHeader">
  <rdfs:label xml:lang="en">Additional header</rdfs:label>
  <rdfs:comment>An additional header</rdfs:comment>
  <rdfs:subPropertyOf rdf:resource="&http-ns;header"/>
  <rdfs:range rdf:resource="&rfc822-ns;Field"/>
</rdf:Property>
<!-- additional headers end -->


<rdf:Property rdf:about="&http-ns;body">
  <rdfs:label xml:lang="en">Entity body</rdfs:label>
  <rdfs:comment>The HTTP entity body</rdfs:comment>
</rdf:Property>

</rdf:RDF>

5.2 Schema for URI

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY uri-ns "http://www.example.org/uri#">
]>
<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

  <rdf:Description rdf:about="&uri-ns;">
    <rdfs:comment>A namespace for describing a Uniform Resource Identifier
      (http://www.ietf.org/rfc/rfc3986.txt)</rdfs:comment>
  </rdf:Description>

<rdf:Property rdf:about="&uri-ns;uri">
  <rdfs:label xml:lang="en">URI</rdfs:label>
  <rdfs:comment>The Uniform Rresource Identifier</rdfs:comment>
</rdf:Property>

</rdf:RDF>

5.3 Schema for RFC822

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY rfc822-ns "http://www.example.org/rfc822#">
]>
<rdf:RDF
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#">

  <rdf:Description rdf:about="&rfc822-ns;">
    <rdfs:comment>A namespace for describing RFC 822 fields
      (http://www.ietf.org/rfc/rfc0822.txt)</rdfs:comment>
  </rdf:Description>

  <rdfs:Class rdf:about="&rfc822-ns;Field">
    <rdfs:label xml:lang="en">Field</rdfs:label>
    <rdfs:comment>A field</rdfs:comment>
  </rdfs:Class>

  <rdf:Property rdf:about="&rfc822-ns;fieldName">
    <rdfs:label xml:lang="en">Field name</rdfs:label>
    <rdfs:comment>A field name</rdfs:comment>
    <rdfs:domain rdf:resource="&rfc822-ns;Field"/>
  </rdf:Property>

  <rdf:Property rdf:about="&rfc822-ns;fieldBody">
    <rdfs:label xml:lang="en">Field body</rdfs:label>
    <rdfs:comment>A field body</rdfs:comment>
    <rdfs:domain rdf:resource="&rfc822-ns;Field"/>
  </rdf:Property>

</rdf:RDF>

References

[DRP]
"The HTTP Distribution and Replication Protocol" – Arthur van Hoff, John Giannandrea, Mark Hapner, Steve Carter, Milo Medin, W3C Member Submission, 25 August 1997.
[DupSup]
"Duplicate Suppression in HTTP" – Jeffrey Mogul, Arthur van Hoff, IETF Internet-Draft, 15 April 1998.
[EARL Schema]
"Evaluation and Report Language (EARL) 1.0 Schema" – Charles McCathieNevile, Shadi Abou-Zahra, W3C Editors' Working Draft 01 January 2006.
[EDD]
"An exploration of dynamic documents" – Netscape, 1999.
[EdgeArch]
"Edge Architecture Specification" – Mark Nottingham, Xiang Liu, W3C Note, 04 August 2001.
[HTML4]
"HTML 4.01 Specification" – Dave Raggett, Arnaud Le Hors, Ian Jacobs, W3C Recommendation, 24 December 1999.
[JEPI]
"White Paper: Joint Electronic Payment Initiative" – Eui-Suk Chung, Daniel Dardailler, W3C NOTE, 19 May 1997.
[ObjectHeaders]
"Object Header lines in HTTP" – T. Berners-Lee, May 1994.
[OPS-OverHTTP]
"Implementation of OPS Over HTTP" – Pat Hensley, Max Metral, Upendra Shardanand, Donna Converse, Mike Myers, W3C Member Submission, 02 June 1997.
[OPTIONS messages]
"Specification of HTTP/1.1 OPTIONS messages" – J. Mogul, J. Cohen, S. Lawrence, IETF Internet-Draft, 26 August 1997.
[P3P]
"The Platform for Privacy Preferences 1.0 (P3P1.0) Specification" – Lorrie Cranor, Marc Langheinrich, Massimo Marchiori, Martin Presler-Marshall, Joseph Reagle, W3C Recommendation, 16 April 2002.
[PEP]
"PEP - an Extension Mechanism for HTTP" – Henrik Frystyk Nielsen, Dan Connolly, Rohit Khare, Eric Prud'hommeaux, W3C Working Draft, 21 November 1997.
[PICSLabels]
"PICS Label Distribution Label Syntax and Communication Protocols, Version 1.1" – Tim Krauskopf, Jim Miller, Paul Resnick, Win Treese, W3C Recommendation, 31 October 1996.
[Proxy Notification]
"Notification for Proxy Caches" – Phillip M. Hallam-Baker, W3C Working Draft, 21 February 1996.
[RDF]
"Resource Description Framework (RDF): Concepts and Abstract Syntax" – Graham Klyne, Jeremy J. Carroll, W3C Recommendation, 10 February 2004.
[RFC822]
"Standard for ARPA Internet Text Messages" – David H. Crocker, August 13, 1982.
[RFC822-in-RDF]
"RFC822 in RDF" – Johannes Koch, Carlos A Velasco, ...
[RFC2109]
"HTTP State Management Mechanism" – D. Kristol, L. Montulli, February 1997.
[RFC2183]
"Communicating Presentation Information in Internet Messages: The Content-Disposition Header Field" – R. Troost, S. Dorner, K. Moore, August 1997.
[RFC2227]
"Simple Hit-Metering and Usage-Limiting for HTTP" – J. Mogul, P. Leach, October 1997.
[RFC2295]
"Transparent Content Negotiation in HTTP" – K. Holtman, A. Mutz, March 1998.
[RFC2310]
"The Safe Response Header Field" – K. Holtman, April 1998.
[RFC2324]
"Hyper Text Coffee Pot Control Protocol (HTCPCP/1.0)" – L. Masinter, 1 April 1998.
[RFC2518]
"HTTP Extensions for Distributed Authoring -- WEBDAV" – Y. Goland, E. Whitehead, A. Faizi, S. Carter, D. Jensen, February 1999.
[RFC2616]
"Hypertext Transfer Protocol -- HTTP/1.1" – R. Fielding, J. Gettys, J. Mogul, H. Frystyk Nielsen, L. Masinter, P. Leach and T. Berners-Lee, June 1999.
[RFC2617]
"HTTP Authentication: Basic and Digest Access Authentication" – J. Franks, P. Hallam-Baker, J. Hostetler, S. Lawrence, P. Leach, A. Luotonen, L. Stewart, June 1999.
[RFC2660]
"The Secure HyperText Transfer Protocol" – E. Rescorla, A. Schiffman, August 1999.
[RFC2774]
"An HTTP Extension Framework" – H. Nielsen, P. Leach, S. Lawrence, February 2000.
[RFC2965]
"HTTP State Management Mechanism" – D. Kristol, L. Montulli, October 2000.
[RFC3229]
"Delta encoding in HTTP" – J. Mogul, B. Krishnamurthy, F. Douglis, A. Feldmann, Y. Goland, A. van Hoff, D. Hellerstein, January 2002.
[RFC3230]
"Instance Digests in HTTP" – J. Mogul, A. van Hoff, January 2002.
[RFC3253]
"Versioning Extensions to WebDAV (Web Distributed Authoring and Versioning)" – G. Clemm, J. Amsden, T. Ellison, C. Kaler, J. Whitehead, March 2002.
[RFC3648]
"Web Distributed Authoring and Versioning (WebDAV) Ordered Collections Protocol" – J. Whitehead, J. Reschke, Ed., December 2003.
[RFC3986]
"Uniform Resource Identifier (URI): Generic Syntax" – T. Berners-Lee, R. Fielding, L. Masinter, January 2005.
[RFC4229]
"HTTP Header Field Registrations" – M. Nottingham, J. Mogul. December 2005.
[SOAP1.1]
"Simple Object Access Protocol (SOAP) 1.1" – Don Box, David Ehnebuske, Gopal Kakivaya, Andrew Layman, Noah Mendelsohn, Henrik Frystyk Nielsen, Satish Thatte, Dave Winer, W3C Note, 08 May 2000.
[UA Attributes]
"User-Agent Display Attributes Headers" – A. Mutz, L. Montulli, L. Masinter, IETF Internet-Draft, 12 June 1996.
[WIRE]
"WIRE - W3 Identifier Resolution Extensions" – Lewis Girod, Benjie Chen, Henrik Frystyk, John Mallery, IETF Internet-Draft, 13 March 1998.