blob: 3bf0b440e0c0ccb987ee6f81c3741f16401ab1a7 [file] [log] [blame]
~~ ====================================================================
~~ 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/>.
----------
HttpComponents HttpCore Overview
----------
----------
----------
HttpCore Overview
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.
{Documentation}
[[1]] Some examples of HttpCore components in action can be found {{{./examples.html}here}}
[[1]] Project reports
* {{{./httpcore5/project-reports.html}HttpCore HTTP/1.1}}
* {{{./httpcore5-h2/project-reports.html}HttpCore HTTP/2}}
* {{{./httpcore5-reactive/project-reports.html}HttpCore Reactive Streams}}
* {{{./httpcore5-testing/project-reports.html}HttpCore testing support}}
{Standards Compliance}
HttpCore components strive to conform to the following specifications endorsed by the Internet
Engineering Task Force (IETF) and the internet at large:
* {{{http://tools.ietf.org/html/rfc7540}RFC 7540}} - Hypertext Transfer Protocol Version 2
(HTTP/2)
* {{{http://tools.ietf.org/html/rfc7541}RFC 7541}} - HPACK: Header Compression for HTTP/2
* {{{http://tools.ietf.org/html/rfc7230}RFC 7230}} - Hypertext Transfer Protocol (HTTP/1.1):
Message Syntax and Routing
* {{{http://tools.ietf.org/html/rfc7231}RFC 7231}} - Hypertext Transfer Protocol (HTTP/1.1):
Semantics and Content
* {{{http://tools.ietf.org/html/rfc1945}RFC 1945}} - Hypertext Transfer Protocol -- HTTP/1.0
* {{{http://tools.ietf.org/html/rfc2396}RFC 2396}} - Uniform Resource Identifiers (URI): Generic Syntax