<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl"?>
<rdf:RDF xml:lang="en"
         xmlns="http://usefulinc.com/ns/doap#"
         xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         xmlns:asfext="http://projects.apache.org/ns/asfext#"
         xmlns:foaf="http://xmlns.com/foaf/0.1/">
<!--
   $HeadURL$
   $Revision$
   $Date$

   ====================================================================
   Licensed to the Apache Software Foundation (ASF) under one
   or more contributor license agreements.  See the NOTICE file
   distributed with this work for additional information
   regarding copyright ownership.  The ASF licenses this file
   to you under the Apache License, Version 2.0 (the
   "License"); you may not use this file except in compliance
   with the License.  You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing,
   software distributed under the License is distributed on an
   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
   KIND, either express or implied.  See the License for the
   specific language governing permissions and limitations
   under the License.
   ====================================================================

   This software consists of voluntary contributions made by many
   individuals on behalf of the Apache Software Foundation.  For more
   information on the Apache Software Foundation, please see
   <http://www.apache.org />.
-->

  <Project rdf:about="http://hc.apache.org/httpcomponents-core/">
    <created>2007-11-15</created>
    <license rdf:resource="http://usefulinc.com/doap/licenses/asl20" />
    <name>Apache HttpComponents Core</name>
    <homepage rdf:resource="http://hc.apache.org/httpcomponents-core/" />
    <asfext:pmc rdf:resource="http://httpcomponents.apache.org" />
    <shortdesc>
Java libraries for bare-bone HTTP communication,
including support for NIO.
    </shortdesc>
    <description>
    HttpCore is a set of low level HTTP transport components that can be used to build custom
    client and server side HTTP services with a minimal footprint. HttpCore supports two I/O
    models: blocking I/O model based on the classic Java I/O and non-blocking, event driven I/O
    model based on Java NIO.  The blocking I/O model may be more appropriate for data intensive,
    low latency scenarios, whereas the non-blocking model may be more appropriate for high latency
    scenarios where raw data throughput is less important than the ability to handle thousands of
    simultaneous HTTP connections in a resource efficient manner.
    </description>
    <bug-database rdf:resource="http://issues.apache.org/jira/browse/HTTPCORE" />
    <mailing-list rdf:resource="http://httpcomponents.apache.org/mail-lists.html" />
    <download-page rdf:resource="http://httpcomponents.apache.org/downloads.cgi" />
    <programming-language>Java</programming-language>
    <category rdf:resource="http://projects.apache.org/category/http" />
    <category rdf:resource="http://projects.apache.org/category/library" />
    <category rdf:resource="http://projects.apache.org/category/network-client" />
    <category rdf:resource="http://projects.apache.org/category/network-server" />

    <!-- Multiple releases can be listed, each in its own section -->
    <release>
      <Version>
        <name>HttpComponents Core 4.0-alpha6</name>
        <created>2007-10-09</created>
        <revision>4.0-alpha6</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.0-beta1</name>
        <created>2008-01-24</created>
        <revision>4.0-beta1</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.0-beta2</name>
        <created>2008-06-22</created>
        <revision>4.0-beta2</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.0-beta3</name>
        <created>2008-10-19</created>
        <revision>4.0-beta3</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.0 (GA)</name>
        <created>2009-02-26</created>
        <revision>4.0</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.0.1 (GA)</name>
        <created>2009-06-22</created>
        <revision>4.0.1</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1-alpha1</name>
        <created>2009-09-11</created>
        <revision>4.1-alpha1</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1-beta1</name>
        <created>2010-04-03</created>
        <revision>4.1-beta1</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1-beta2</name>
        <created>2010-08-30</created>
        <revision>4.1-beta2</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1 GA</name>
        <created>2010-11-19</created>
        <revision>4.1 GA</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1.1 GA</name>
        <created>2011-05-20</created>
        <revision>4.1.1 GA</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1.2 GA</name>
        <created>2011-07-18</created>
        <revision>4.1.2 GA</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1.3 GA</name>
        <created>2011-07-31</created>
        <revision>4.1.3 GA</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.2-alpha1</name>
        <created>2011-08-19</created>
        <revision>4.2-alpha1</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.2-alpha2</name>
        <created>2011-09-23</created>
        <revision>4.2-alpha2</revision>
      </Version>
      <Version>
        <name>HttpComponents Core 4.1.4 GA</name>
        <created>2011-12-23</created>
        <revision>4.1.4 GA</revision>
      </Version>
    </release>

    <repository>
      <SVNRepository>
        <location rdf:resource="http://svn.apache.org/repos/asf/httpcomponents/httpcore/trunk"/>
        <browse rdf:resource="http://svn.apache.org/viewvc/httpcomponents/httpcore/trunk"/>
      </SVNRepository>
    </repository>

    <asfext:implements><asfext:Standard>
      <asfext:title>Hypertext Transfer Protocol -- HTTP/1.1</asfext:title>
      <asfext:body>IETF</asfext:body>
      <asfext:id>RFC 2616</asfext:id>
      <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2616"/>
    </asfext:Standard></asfext:implements>
    <asfext:implements><asfext:Standard>
      <asfext:title>Hypertext Transfer Protocol -- HTTP/1.0</asfext:title>
      <asfext:body>IETF</asfext:body>
      <asfext:id>RFC 1945</asfext:id>
      <asfext:url rdf:resource="http://tools.ietf.org/html/rfc1945"/>
    </asfext:Standard></asfext:implements>
    <asfext:implements><asfext:Standard>
      <asfext:title>Upgrading to TLS Within HTTP/1.1</asfext:title>
      <asfext:body>IETF</asfext:body>
      <asfext:id>RFC 2817</asfext:id>
      <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2817"/>
    </asfext:Standard></asfext:implements>
    <asfext:implements><asfext:Standard>
      <asfext:title>HTTP Over TLS</asfext:title>
      <asfext:body>IETF</asfext:body>
      <asfext:id>RFC 2818</asfext:id>
      <asfext:url rdf:resource="http://tools.ietf.org/html/rfc2818"/>
    </asfext:Standard></asfext:implements>

  </Project>
</rdf:RDF>
