2

HTTP プロキシ サーバーを開発する必要があります。私のプロキシ サーバーは、Web ブラウザから HTTP 要求を取得できます。また、サーバーに接続することもできました。さらに移動する方法を理解できません。プロキシサーバーからリモートサーバーにリクエストを送信する方法です。
次のクエリがあります。

  1. HTTP プロキシ サーバーからリモート サーバーに送信される要求ヘッダーの形式
  2. GET、HEAD、および POST メソッドの Web ブラウザから受け取ったヘッダーと同じですか。

ヘッダー全体を送信してみました:
GET http://www.gmail.com/ HTTP/1.1
Accept: text/html, application/xhtml+xml, /
Accept-Language: en-US
User-Agent: Mozilla/5.0 (互換; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)
Accept-Encoding: gzip、deflate
Proxy-Connection: Keep-Alive
Host: www.gmail.com

または: GET / HTTP/1.1
ホスト:www.gmail.com:80

4

1 に答える 1

2

プロキシ リクエストから HTTP サーバー リクエストへの基本的な変換は、最初の行を変更することです。

GET http://www.gmail.com/ HTTP/1.1

GET / HTTP/1.1

プロキシが実サーバーにさらに接続できるように、ブラウザーが要求をプロキシーに送信するときに完全な URL が必要です。ただし、サーバーへの HTTP 要求には、行にプロトコルとホスト名の部分が含まれていてはなりませGET

ただし、これだけが必要なわけではありません。HTTP プロキシは、ブラウザとプロキシの接続とプロキシとサーバーの接続ではプロトコルのバージョン番号や接続オプションが異なるため、かなり複雑なアプリケーションです。

RFC 2616には、HTTP プロキシ アプリケーションの正しい動作に関するかなりの量の情報が含まれています。

于 2012-10-31T02:53:21.153 に答える