Talk Submission
If you are interested in attending this talk at PyCon JP 2016, please use the social media share buttons below. We will consider the popularity of the proposals when making our selection.
talk
HTTPプロクシライブラリproxy2の設計と実装(ja)
Speakers
inaz2
Audience level:
Intermediate
Category:
Useful libraries
Description
Pythonスクリプトで柔軟に拡張可能なHTTP(S)プロクシライブラリproxy2を紹介するとともに、PythonでHTTPプロクシを実装する際に考慮すべき点、HTTPS対応の詳細についてproxy2の実装を交えながら解説する。
Objectives
HTTPプロクシの仕組み、ソケットサーバに関する標準クラスの概要と使い方、SSL CA/サーバ証明書の生成とHTTPSサーバの実装方法について理解を深める。
Abstract
HTTP通信の中継を行うHTTPプロクシには、SquidやNginxのようなキャッシュ・ロードバランスを目的としたものと、Burp ProxyやProxomitronのようなデバッグ・コンテンツ書き換えを目的としたものがある。前者は大量のHTTPリクエストを効率的にさばくため、後者はサーバから送られてくるHTTPレスポンスの確認や通信ログの記録、アクセス制限などに用いられる。発表者は、このような多岐にわたるプロクシ機能の実装をPythonスクリプトの形で柔軟に行うことができるHTTP(S)プロクシライブラリ[proxy2](https://github.com/inaz2/proxy2)を開発した。このライブラリを用いることで、開発者は実現したい機能に注力してプロクシサーバを開発することができる。このセッションでは、
* HTTP(S)プロクシによって実現されるさまざまな機能の概要
* proxy2を利用したHTTP(S)プロクシの実装例
* ソケットサーバに関する標準モジュールの概要と使い方
* HTTPプロクシを実装する際に考慮すべき仕様
* HTTPS対応に必要なSSL CA/サーバ証明書の生成と利用方法
について、proxy2における実装を交えながら紹介する。なお、ここでのHTTPはHTTP/1.1を指すものとする。