Abstract

The identification of resources on the Web by URI may not be sufficient to uniquely resolve a document as other factors such as HTTP content negotiation might come into play. This issue is particularly significant for quality assurance testing, conformance claims, and reporting languages like the Evaluation and Report Language (EARL). This document describes a representation of HTTP vocabulary in RDF. The terms defined by this document allow HTTP headers that have been exchanged between a client and a server to be recorded in RDF format. The terms defined by this document includes vocabulary for HTTPS as well as other extensions to the core specification.

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/.

This W3C First Public Working Draft of the HTTP Vocabulary in RDF document was published on 20 December 2006 by the Evaluation and Repair Tools Working Group (ERT WG). This document is expected to be published as a W3C Working Group Note after review and refinement, potentially upon the next publication.

The working group encourages feedback about the approach, as well as about the completeness and maturity of this document by developers and researchers who have interest in a representation of the HTTP vocabulary in RDF format. Feedback from the W3C Quality Assurance Interest Group (QA IG), the W3C Semantic Web Interest Group (SWIG), and the W3C Mobile Web Best Practices Working Group (BPWG) is particularly welcome. Please send comments on this document to the public mailing list of the working group public-wai-ert@w3.org. The archives of the working group mailing list are publicly available.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. The group does not expect this document to become a W3C Recommendation. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy.


Table of Contents

  1. Introduction
  2. Basic HTTP 1.1 (RFC 2616)
  3. Header Extensions (RFC 4229)
  4. Field Messages (RFC 822)

Appendices

  1. Schema in RDF/XML
  2. Schema Limitations
  3. Practical Example
  4. References

1. Introduction

This document presents a representation of the Hyper Text Transfer Protocol (HTTP) using the Resource Description Framework (RDF). It defines a collection of RDF classes and properties that represent the HTTP vocabulary as defined by the HTTP specification. These RDF terms can be used to record HTTP request and response messages in RDF format. For example by automated Web accessibility evaluation tools to describe Web resources, including the various headers exchanged between the client and server during content negotiation. More usage examples for these terms are described in section 1.2. Use Cases.

This document is not inteded to be a clarification of the different concepts of the HTTP specification. The HTTP specification is defined by a series of Request for Comments (RFC) and other documentation. These are listed in Appendix C. References. This document is also not intended to be an introduction to RDF, refer to [RDF] or [RDF-PRIMER] for this purpose.

1.1. Namespaces

The RDF representation of the HTTP vocabulary defined by this document uses three different namespaces:

Vocabulary Namespace URI Prefix
HTTP http://www.w3.org/2006/http# http (default namespace)
URI http://www.w3.org/2006/uri# uri
RFC 822 http://www.w3.org/2006/rfc822# rfc822

1.2. Use Cases

The following (non-exhaustive) list of use cases aims to highlight some of the different usages of this vocabulary:

Reporting Test Results
When Web resources are tested, for example for accessibility or other quality assurance testing, it may be significant to record the exact headers of the resource, especially those exchanged during content negotiation. RDF reporting languages like [EARL] can use this vocabulary to record these headers, for example POST parameters that were sent through a form and used by the server to generate a response.
Precising Conformance Claims
Conformance claims, for example conformance to the [WCAG], are sometimes only applicable to specific versions of a Web resource that is served at the same URI. For example a document that is served in multiple languages using language negotiation. The vocabulary presented by this document can be used to precise specific versions of Web resources for conformance claims.
Developing Web Applications
Web authoring tools, for example development tools for rich Web applications with dynamic content, can use this vocabulary to record the information exchanged between the client and the server in order to help developers debug scripts and applications. For example for developing AJAX applications where the Web resource is a composition of small sequences of contents.

2. Basic HTTP 1.1 (RFC 2616)

This section defines RDF terms for the basic HTTP 1.1 specification according to [RFC 2616].

2.1. 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 [RFC 2616]:

The following properties may appear in nodes of type Request:

Example 2.1: A GetRequest object.

<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>

2.2. Response Class

The Response class represents an HTTP response as defined in [RFC 2616]. The following properties may appear in nodes of type Response:

Example 2.2: A Response object.

<http:Response>
  <http:content-type>text/html;charset=utf-8</http:content-type>
  <http:vary>accept, accept-language</http:vary>
  <http:body><![CDATA[aksgbq3833o3gbo4zgblakc8t9ut2]]></http:body>
</http:Response>

2.3. Header Properties

The header property represents an HTTP header. There are additional properties derived from the header property; every sub-property refers to a header defined in [RFC 2616].

2.3.1. Request Headers

The following properties may appear in nodes of type Request:

2.3.2. Response Headers

The following properties may appear in nodes of type Response:

2.3.3. Unbound Headers

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

2.4. Body Property

The body property represents an HTTP entity body as defined in [RFC 2616]. It can appear in nodes of both type Request or Response. HTTP bodies are series of bytes. Thus they MUST be translated to a string of text using the Base64 encoding scheme to make it representable in RDF.

Example 2.3: The body property.

<http:body><![CDATA[aksgbq3833o3gbo4zgblakc8t9ut2]]></http:body>

2.5. URI Property

The uri property describes a Uniform Resource Identifier as defined in in [RFC 3986]. Since URIs are not restricted to HTTP, this property resides in its own namespace.

Example 2.4: The uri property.

<uri:uri>http://www.example.org:80/</uri:uri>

3. Header Extensions (RFC 4229)

There are quite a lot of headers used in HTTP, which are not defined in the HTTP 1.1 specification (RFC 2616) itself. This section defines properties for header extensions according to [RFC 4229].

2.1. Request Extensions

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

2.2. Response Extensions

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

2.3. Unbound Extensions

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

4. Field Messages (RFC 822)

For headers not defined in HTTP 1.1 or any of the header extensions, the additionalHeader property can be used in both Request and Response classes. The object of this property is of type rfc822:Field and represents a field according to [RFC 822]. RFC 822 specifies a simple syntax for the exchange of text messages and is not restricted to HTTP. Thus the field class resides in a separate namespace and MUST have the following properties:

Example 4.1: additionalHeader object.

<http:additionalHeader>
  <rfc822:Field>
    <rfc822:fieldName>x-foo</rfc822:fieldName>
    <rfc822:fieldBody>bar</rfc822:fieldBody>
  </rfc822:Field>
</http:additionalHeader>

Appendix A: Schema in RDF/XML

Editor's Note: the working group is looking for feedback and comments on the schema defined below, for example on the hierarchy of the classes or the restrictions on the properties.

Appendix A.1: HTTP Schema

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY http-ns "http://www.w3.org/2006/http#">
  <!ENTITY rfc822-ns "http://www.w3.org/2006/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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">The Accept header (see RFC 2616,
    section 14.1)</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 xml:lang="en">The Accept-Charset header (see RFC 2616,
    section 14.2)</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 xml:lang="en">The Accept-Encoding header (see RFC 2616,
    section 14.3)</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 xml:lang="en">The Accept-Language header (see RFC 2616,
    section 14.4)</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 xml:lang="en">The Accept-Ranges header (see RFC 2616,
    section 14.5)</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 xml:lang="en">The Age header (see RFC 2616,
    section 14.6)</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 xml:lang="en">The Allow header (see RFC 2616,
    section 14.7)</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 xml:lang="en">The Authorization header (see RFC 2616,
    section 14.8)</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 xml:lang="en">The Cache-Control header (see RFC 2616,
    section 14.9)</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 xml:lang="en">The Connection header (see RFC 2616,
    section 14.10)</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 xml:lang="en">The Content-Encoding header (see RFC 2616,
    section 14.11)</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 xml:lang="en">The Content-Language header (see RFC 2616,
    section 14.12)</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 xml:lang="en">The Content-Length header (see RFC 2616,
    section 14.13)</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 xml:lang="en">The Content-Location header (see RFC 2616,
    section 14.14)</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 xml:lang="en">The Content-MD5 header (see RFC 2616,
    section 14.15)</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 xml:lang="en">The Content-Range header (see RFC 2616,
    section 14.16)</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 xml:lang="en">The Content-Type header (see RFC 2616,
    section 14.17)</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 xml:lang="en">The Date header (see RFC 2616,
    section 14.18)</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 xml:lang="en">The ETag header (see RFC 2616,
    section 14.19)</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 xml:lang="en">The Expect header (see RFC 2616,
    section 14.20)</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 xml:lang="en">The Expires header (see RFC 2616,
    section 14.21)</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 xml:lang="en">The From header (see RFC 2616,
    section 14.22)</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 xml:lang="en">The Host header (see RFC 2616,
    section 14.23)</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 xml:lang="en">The If-Match header (see RFC 2616,
    section 14.24)</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 xml:lang="en">The If-Modified-Since header (see RFC 2616,
    section 14.25)</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 xml:lang="en">The If-None-Match header (see RFC 2616,
    section 14.26)</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 xml:lang="en">The If-Range header (see RFC 2616,
    section 14.27)</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 xml:lang="en">The If-Unmodified-Since header (see RFC
    2616, section 14.28)</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 xml:lang="en">The Last-Modified header (see RFC 2616,
    section 14.29)</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 xml:lang="en">The Location header (see RFC 2616,
    section 14.30)</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 xml:lang="en">The Max-Forwards header (see RFC 2616,
    section 14.31)</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 xml:lang="en">The MIME-Version header (see RFC 2616,
    section 19.4.1)</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 xml:lang="en">The Pragma header (see RFC 2616,
    section 14.32)</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 xml:lang="en">The Proxy-Authenticate header (see RFC
    2616, section 14.33)</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 xml:lang="en">The Proxy-Authorization header (see RFC
    2616, section 14.34)</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 xml:lang="en">The Range header (see RFC 2616,
    section 14.35)</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 xml:lang="en">The Referer header (see RFC 2616,
    section 14.36)</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 xml:lang="en">The Retry-After header (see RFC 2616,
    section 14.37)</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 xml:lang="en">The Server header (see RFC 2616,
    section 14.38)</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 xml:lang="en">The TE header (see RFC 2616,
    section 14.39)</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 xml:lang="en">The Trailer header (see RFC 2616,
    section 14.40)</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 xml:lang="en">The Transfer-Encoding header (see RFC 2616,
    section 14.41)</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 xml:lang="en">The Upgrade header (see RFC 2616,
    section 14.42)</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 xml:lang="en">The User-Agent header (see RFC 2616,
    section 14.43)</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 xml:lang="en">The Vary header (see RFC 2616,
    section 14.44)</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 xml:lang="en">The Via header (see RFC 2616,
    section 14.45)</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 xml:lang="en">The Warning header (see RFC 2616,
    section 14.46)</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 xml:lang="en">The WWW-Authenticate header (see RFC 2616,
    section 14.47)</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 xml:lang="en">The Content-Base header (see RFC 2068,
    section 14.11)</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 xml:lang="en">The Content-Version header (see RFC 2068,
    section 19.6.2.2)</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 xml:lang="en">The Derived-From header (see RFC 2068,
    section 19.6.2.3</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 xml:lang="en">The Link header (see RFC 2068,
    section 19.6.2.4)</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 xml:lang="en">The Public header (see RFC 2068,
    section 14.35)</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 xml:lang="en">The URI header (see RFC 2068,
    section 19.6.2.5)</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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">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 xml:lang="en">The HTTP entity body</rdfs:comment>
</rdf:Property>

</rdf:RDF>

Appendix A.2: URI Schema

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY uri-ns "http://www.w3.org/2006/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 xml:lang="en">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 xml:lang="en">The Uniform Resource
    Identifier</rdfs:comment>
</rdf:Property>

</rdf:RDF>

Appendix A.3: RFC 822 Schema

<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE rdf:RDF [
  <!ENTITY rfc822-ns "http://www.w3.org/2006/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 xml:lang="en">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 xml:lang="en">A field</rdfs:comment>
  </rdfs:Class>

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

</rdf:RDF>

Appendix B: Schema Limitations

Appendix B.1: Header Sequences

The serialization of HTTP messages in RDF format brings about a significant limitation regarding the order of header information. According to the RDF model, the order in which properties are serialized is not relevant. However, the order in which HTTP headers are exchanged between the client and the server can be significant. For example the following sequence of headers describes a specific content encoding, namely "compress" after "gzip":

To keep the schema defined by this document simple, sequences of HTTP headers of the same type MUST be serialized in a single RDF property using a comma separated string as defined by [RFC 2616]. The order of the individual header values MUST reflect the order in which they were exchanged. For example, the sequence of headers from above must be represented in the following way:

Editor's Note: are there cases in which the order of different header types can be significant? The working group has not identified any such restrictions.

Appendix B.2: Security and Privacy

There are also noteable schema limitations with regards to security and privacy since the content recorded by this vocabulary could potentially contain sensitive information. For example authentication information in HTTP headers or other information (login user name, passwords, etc.) within the body of the message. Since the schema of this document is limited to terms defined by the HTTP vocabulary, security and privacy considerations need to be made at the application level. For example, certain parts of the data may be restricted to appropriate user permissions or obfuscated.

Appendix C: Practical Example

The following example shows an RDF/XML representation of an HTTP request and response pair.

Scenario Description

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. Thus, 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 a Field Message as specified by [RFC 822]. The bodyContent property contains the result of a Base64 transformation of the returned byte sequence.

Resulting RDF/XML

<?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/2006/http#"
  xmlns:uri="http://www.w3.org/2006/uri#"
  xmlns:rfc822="http://www.w3.org/2006/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><![CDATA[aksgbq3833o3gbo4zgblakc8t9ut2]]></http:body>
  </http:Response>
</rdf:RDF>

Appendix D: 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.
[RDF-PRIMER]
RDF Primer – Frank Manola, Eric Miller (eds.). W3C Recommendation, 10 February 2004.
[RFC822]
"Standard for ARPA Internet Text Messages" – David H. Crocker, August 13, 1982.
[RFC2068]
"Hypertext Transfer Protocol -- HTTP/1.1" – R. Fielding, J. Gettys, J. Mogul, H. Frystyk, T. Berners-Lee, January 1997.
[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.
[WCAG]
@@@TBD@@@
[WIRE]
"WIRE - W3 Identifier Resolution Extensions" – Lewis Girod, Benjie Chen, Henrik Frystyk, John Mallery, IETF Internet-Draft, 13 March 1998.