>「そもそもクライアント側のブラウザーには、 > ...... > ポート番号443がセットされるはずがない」
Proxy側で443を設定しなければ,クライアント側は443にはなりませんが, Proxy側が443なら,クライアントは443にしないといけません。 そして,Proxy側を443にしてはいけない理由もありません。 (ProxyがHTTPSサーバと兼用ではないという前提ですけど)
ポート番号というのは,それ自身が意味を持っているわけではなく, 多数存在するソケットの中から特定のソケットを識別するために使う単なる番号に過ぎません。 つまり,まず,サーバ側(正確には接続を待ち受ける側)でソケットにポート番号を割り当て, クライアント側(接続する側)でそのポート番号を設定しておくと, TCPヘッダの宛先ポート番号欄にその番号を書いた制御パケットがクライアントから送信され, それがサーバ側で受け付けられると両者が繋がるというだけのものです。 443でも他の番号でも何でもいいわけです。 事実,プログラムを書くときは何番にしてもかまいません。 (他のソケットに割り当て済の番号はダメですけど)
ただ,クライアントがその番号を知らないといけません。 サーバ側が何番で待ち受けているかわからないと, クライアント側でポート番号をTCPヘッダに書けませんからね。 そこで,全世界でルールを設けて番号を決めておくわけです。 それが,HTTPだったら80,HTTPSだったら443というようなルールです。 (http://www.iana.org/assignments/port-numbers)
このルールは,サーバ側とクライアント側でポート番号を了解し合うためのものですが, これ以外の方法で了解することもできます。 サーバ側とクライアント側を管理する人が一人なら,了解も何も不要でしょうし, 同じ社内にあるシステムであれば,口頭で伝えるなんて方法もあるでしょう。 そういう了解があれば,HTTPSは443といったルールに縛られずに他の番号を使うことができます。
話が少し別の方向に向かってしまいましたが, ポート番号っていうのはそういうもので, TCPコネクションの両側のエンドで了解していれば何番でもいいんです。 Proxyの場合はTCPが二つあるので,ちょっとだけ複雑に見えますが,TCP自身は何も変わりません。 そして,このTCPの考え方はProxyに限らず,どんなアプリケーションにも共通です。 というか,どんなアプリケーションであっても,TCP自身の動きが変わることはありません。 変わってしまったらTCPのルール(プロトコル)に反しますから。
こういうことを確認したかったのかなぁ,と勝手に判断しましたけど,当たってます?
More information about text formats
ポート番号のルールはWebでもProxyでもメールでも何でも同じ
>「そもそもクライアント側のブラウザーには、
> ......
> ポート番号443がセットされるはずがない」
Proxy側で443を設定しなければ,クライアント側は443にはなりませんが,
Proxy側が443なら,クライアントは443にしないといけません。
そして,Proxy側を443にしてはいけない理由もありません。
(ProxyがHTTPSサーバと兼用ではないという前提ですけど)
ポート番号というのは,それ自身が意味を持っているわけではなく,
多数存在するソケットの中から特定のソケットを識別するために使う単なる番号に過ぎません。
つまり,まず,サーバ側(正確には接続を待ち受ける側)でソケットにポート番号を割り当て,
クライアント側(接続する側)でそのポート番号を設定しておくと,
TCPヘッダの宛先ポート番号欄にその番号を書いた制御パケットがクライアントから送信され,
それがサーバ側で受け付けられると両者が繋がるというだけのものです。
443でも他の番号でも何でもいいわけです。
事実,プログラムを書くときは何番にしてもかまいません。
(他のソケットに割り当て済の番号はダメですけど)
ただ,クライアントがその番号を知らないといけません。
サーバ側が何番で待ち受けているかわからないと,
クライアント側でポート番号をTCPヘッダに書けませんからね。
そこで,全世界でルールを設けて番号を決めておくわけです。
それが,HTTPだったら80,HTTPSだったら443というようなルールです。
(http://www.iana.org/assignments/port-numbers)
このルールは,サーバ側とクライアント側でポート番号を了解し合うためのものですが,
これ以外の方法で了解することもできます。
サーバ側とクライアント側を管理する人が一人なら,了解も何も不要でしょうし,
同じ社内にあるシステムであれば,口頭で伝えるなんて方法もあるでしょう。
そういう了解があれば,HTTPSは443といったルールに縛られずに他の番号を使うことができます。
話が少し別の方向に向かってしまいましたが,
ポート番号っていうのはそういうもので,
TCPコネクションの両側のエンドで了解していれば何番でもいいんです。
Proxyの場合はTCPが二つあるので,ちょっとだけ複雑に見えますが,TCP自身は何も変わりません。
そして,このTCPの考え方はProxyに限らず,どんなアプリケーションにも共通です。
というか,どんなアプリケーションであっても,TCP自身の動きが変わることはありません。
変わってしまったらTCPのルール(プロトコル)に反しますから。
こういうことを確認したかったのかなぁ,と勝手に判断しましたけど,当たってます?