Webサイトhttp://myipaddress.com/what-is-my-ip-address/にアクセスしたとき
リクエストヘッダー情報を確認しました。いいえ、私のIPアドレスはどこに含まれていますか。では、Webサーバーはどのようにして私のIPアドレスを判別できるのでしょうか。私は、どのWebサーバーもこの情報にアクセスできることを知っています。しかし、HTTPリクエストに含まれていない場合、どのようにして取得するのでしょうか。
Webサイトhttp://myipaddress.com/what-is-my-ip-address/にアクセスしたとき
リクエストヘッダー情報を確認しました。いいえ、私のIPアドレスはどこに含まれていますか。では、Webサーバーはどのようにして私のIPアドレスを判別できるのでしょうか。私は、どのWebサーバーもこの情報にアクセスできることを知っています。しかし、HTTPリクエストに含まれていない場合、どのようにして取得するのでしょうか。
サーバーに接続してHTTPリクエストを送信しています。サーバーはページで応答します。そのためには、返信の送信先を知っている必要があります。その情報は、ソケット接続から(つまり、HTTPよりも低いレベルから)自動的に利用できるため、要求ヘッダーで繰り返す必要はありません。
編集:
Webサーバーがこれを行う方法について詳しく知りたい場合は、accept
関数を参照してください。接続が確立されると、Webサーバーはを呼び出しますaccept
。これにより、反対側のアドレスが自動的に提供されます。
これは、Webサーバーへの着信TCP/IPパケットに含まれています。HTTPパケットは、インターネットを介して送信されるときにTCP / IPパケット内にカプセル化されます(奇妙なことに、転送中のさまざまなプロトコルによってカプセル化されます)。
着信TCP/IPパケットには、送信元IPアドレスや送信元ポート番号などの送信元に関する情報が含まれます。