Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Change organization of the HTTP section of Architecture overview #31

Merged
merged 3 commits into from
Aug 22, 2016
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 1 addition & 3 deletions docs/intro/arch_overview/arch_overview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,9 @@ Architecture overview
threading_model
listeners
network_filters
http_connection_management
http_protocols
http_filters
http_connection_management
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

http_connection_manager is a network filter, i think it make sense to have it right after network_filters

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see.

http_routing
http_access_logs
grpc
cluster_manager
service_discovery
Expand Down
17 changes: 0 additions & 17 deletions docs/intro/arch_overview/http_access_logs.rst

This file was deleted.

33 changes: 33 additions & 0 deletions docs/intro/arch_overview/http_connection_management.rst
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,36 @@ also handles functionality common to all HTTP connections and requests such as :
<arch_overview_http_routing>` management, and :ref:`statistics <config_http_conn_man_stats>`.

HTTP connection manager :ref:`configuration <config_http_conn_man>`.

.. _arch_overview_http_protocols:

HTTP protocols
--------------

Envoy’s HTTP connection manager has native support for both HTTP/1.1 and HTTP/2. It does not support
SPDY. Envoy’s HTTP support was designed to first and foremost be an HTTP/2 multiplexing proxy.
Internally, HTTP/2 terminology is used to describe system components. For example, an HTTP request
and response take place on a *stream*. A codec API is used to translate from different wire
protocols into a protocol agnostic form for streams, requests, responses, etc. In the case of
HTTP/1.1, the codec translates the serial/pipelining capabilities of the protocol into something
that looks like HTTP/2 to higher layers. This means that the majority of the code does not need to
understand whether a stream originated on an HTTP/1.1 or HTTP/2 connection.

.. _arch_overview_http_access_logs:

HTTP access logging
-------------------

The HTTP connection manager supports extensible access
logging with the following features:

* Any number of access logs per connection manager.
* Asynchronous IO flushing architecture. Access logging will never block the main network processing
threads.
* Customizable access log formats using predefined fields as well as arbitrary HTTP request and
response headers.
* Customizable access log filters that allow different types of requests and responses to be written
to different access logs.

HTTP access log :ref:`configuration <config_http_conn_man_access_log>`.

13 changes: 0 additions & 13 deletions docs/intro/arch_overview/http_protocols.rst

This file was deleted.