2

プロトコルのより細かい点のいくつかをより深く理解し、途中でいくつかのソケットプログラミングを学ぶために、HTTPプロキシサーバーを実装したいと思いますが、本格的なHTTPサーバーを実装したくありません。プロキシを実装したいだけの場合に焦点を当てるべき、関連するRFCページとそれらのページのセクションは何ですか?

計画は、通常のHTTPプロキシから始めて、それをHTTPSプロキシに拡張する可能性があることです。

4

3 に答える 3

3

私も現在取り組んでいます。基本的な実装は簡単です。ソケットポートでリッスンし、ホストを見つけ、リモートサーバーに接続し、httpヘッダーを送信し、サーバーから受信してから、クライアントに送り返します。難しい部分は、一貫した接続とパイプライン化です。

HTTPに関しては、そのヘッダーは次のようになります。

CONNECT addons.mozilla.org:443 HTTP/1.1
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:18.0) Gecko/20100101 Firefox/18.0
Host: addons.mozilla.org

プロキシはサーバーに接続し、クライアントに200メッセージを返信してから、リダイレクタとして前後にリダイレクトする必要があります。

これを確認してください:https ://datatracker.ietf.org/doc/html/draft-luotonen-ssl-tunneling-03

于 2013-01-12T03:55:02.297 に答える
3

HTTP 1.0(RF​​C 1945)HTTP 1.1(RFC 2616)を見てみましょう。また、以下を確認することもできます。

Googleで見つけることができるサンプルコードはおそらくたくさんあります!

于 2012-06-04T06:23:20.997 に答える
2

IETFのHTTPbisグループの作業も役立つかもしれません。仕様を書き直して、より明確で実装しやすくしています。

詳細については 、 http://trac.tools.ietf.org/wg/httpbis/trac/wiki を参照してください。

于 2012-06-08T01:40:39.087 に答える