docs++: add individual protocol pages

This commit is contained in:
Thomas Kriechbaumer 2017-08-17 10:18:05 +02:00
parent 5214f544e7
commit 3cb459d56d
7 changed files with 63 additions and 7 deletions

View File

@ -13,7 +13,7 @@ mechanism:
away. Note that mitmproxy's "Limit" option is often the better alternative here, as it is
not affected by the limitations listed below.
If you want to peek into (SSL-protected) non-HTTP connections, check out the :ref:`tcpproxy`
If you want to peek into (SSL-protected) non-HTTP connections, check out the :ref:`tcp_proxy`
feature.
If you want to ignore traffic from mitmproxy's processing because of large response bodies,
take a look at the :ref:`streaming` feature.
@ -88,7 +88,7 @@ Here are some other examples for ignore patterns:
.. seealso::
- :ref:`tcpproxy`
- :ref:`tcp_proxy`
- :ref:`streaming`
- mitmproxy's "Limit" feature

View File

@ -20,6 +20,15 @@
mitmweb
config
.. toctree::
:hidden:
:caption: Protocols
protocols/http1
protocols/http2
protocols/websocket
protocols/tcpproxy
.. toctree::
:hidden:
:caption: Features
@ -36,7 +45,6 @@
features/streaming
features/socksproxy
features/sticky
features/tcpproxy
features/upstreamproxy
features/upstreamcerts

15
docs/protocols/http1.rst Normal file
View File

@ -0,0 +1,15 @@
.. _http1_protocol:
HTTP/1.0 and HTTP/1.1
===========================
.. seealso::
- `RFC7230: HTTP/1.1: Message Syntax and Routing <http://tools.ietf.org/html/rfc7230>`_
- `RFC7231: HTTP/1.1: Semantics and Content <http://tools.ietf.org/html/rfc7231>`_
HTTP/1.0 and HTTP/1.1 support in mitmproxy is based on our custom HTTP stack,
which takes care of all semantics and on-the-wire parsing/serialization tasks.
mitmproxy currently does not support HTTP trailers - but if you want to send
us a PR, we promise to take look!

16
docs/protocols/http2.rst Normal file
View File

@ -0,0 +1,16 @@
.. _http2_protocol:
HTTP/2
======
.. seealso::
- `RFC7540: Hypertext Transfer Protocol Version 2 (HTTP/2) <http://tools.ietf.org/html/rfc7540>`_
HTTP/2 support in mitmproxy is based on the amazing work by the python-hyper
community with the `hyper-h2 <https://github.com/python-hyper/hyper-h2>`_
project. It fully encapsulates the internal state of HTTP/2 connections and
provides an easy-to-use event-based API.
mitmproxy currently does not support HTTP/2 trailers - but if you want to send
us a PR, we promise to take look!

View File

@ -1,7 +1,7 @@
.. _tcpproxy:
.. _tcp_proxy:
TCP Proxy
=========
TCP Proxy / Fallback
====================
In case mitmproxy does not handle a specific protocol, you can exempt
hostnames from processing, so that mitmproxy acts as a generic TCP forwarder.

View File

@ -0,0 +1,17 @@
.. _websocket_protocol:
WebSocket
=========
.. seealso::
- `RFC6455: The WebSocket Protocol <http://tools.ietf.org/html/rfc6455>`_
- `RFC7692: Compression Extensions for WebSocket <http://tools.ietf.org/html/rfc7692>`_
WebSocket support in mitmproxy is based on the amazing work by the python-hyper
community with the `wsproto <https://github.com/python-hyper/wsproto>`_
project. It fully encapsulates WebSocket frames/messages/connections and
provides an easy-to-use event-based API.
mitmproxy fully supports the compression extension for WebSocket messages,
provided by wsproto.

View File

@ -211,7 +211,7 @@ TCP Events
----------
These events are called only if the connection is in :ref:`TCP mode
<tcpproxy>`. So, for instance, TCP events are not called for ordinary HTTP/S
<tcp_proxy>`. So, for instance, TCP events are not called for ordinary HTTP/S
connections.
.. list-table::