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