You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by "William A. Rowe Jr." <wr...@rowe-clan.net> on 2011/12/12 22:25:19 UTC
Re: Effective IP address / real IP address
I have a frustrating update, which we need to take into consideration for
the whole remote_ip-related resolution. From the httpd-ng workgroup...
On 09/12/2011, at 9:27 AM, William A. Rowe Jr. wrote to http-ng;
> On 12/8/2011 12:33 PM, Karl Dubost wrote:
>> Le 8 déc. 2011 à 14:55, Larry Masinter a écrit :
>>> I think Karl's rewording is worse. The point I really wanted to make was that
documents that follow HTTP terminology often make the mistake of assuming a "user agent"
has a "user".
>> Ahah! I didn't have the initial context. :)
>>
>>> But if "client" means the same thing as "user agent", then why have a separate term?
>>
>> I would rather prefer client everywhere too.
>>
>> What wikipedia says:
>>
>> In computing, a user agent is a client application
>> implementing a network protocol used in communications
>> within a client–server distributed computing system.
>> — http://en.wikipedia.org/wiki/User_agent
> We just had this discussion at the ASF httpd project.
>
> In a proxy chain, each proxy server is a user agent itself reaching
> out to the next server in the chain. It is possible to describe
> these each as clients, but when you start looking at end-to-end
> definitions, "client" suggests the originating user agent (app, or
> browser, or service).
>
> So UA and client do have distinct connotations.
Mark Nottingham <mn...@mnot.net> response to my observation below;
That's exactly backwards from how we have always used the terms in HTTP -
1945:
> client
>
> An application program that establishes connections for the
> purpose of sending requests.
>
> user agent
>
> The client which initiates a request. These are often browsers,
> editors, spiders (web-traversing robots), or other end user
> tools.
2068:
> client
> A program that establishes connections for the purpose of sending
> requests.
>
> user agent
> The client which initiates a request. These are often browsers,
> editors, spiders (web-traversing robots), or other end user tools.
2616:
> client
> A program that establishes connections for the purpose of sending
> requests.
>
> user agent
> The client which initiates a request. These are often browsers,
> editors, spiders (web-traversing robots), or other end user tools.
Re: Effective IP address / real IP address
Posted by "William A. Rowe Jr." <wr...@rowe-clan.net>.
On 12/13/2011 9:06 PM, Roy T. Fielding wrote:
> On Dec 13, 2011, at 5:33 PM, Graham Leggett wrote:
>> On 14 Dec 2011, at 12:50 AM, Graham Leggett wrote:
>>> On 12 Dec 2011, at 11:25 PM, William A. Rowe Jr. wrote:
>>>
>>>> I have a frustrating update, which we need to take into consideration for
>>>> the whole remote_ip-related resolution. From the httpd-ng workgroup...
>>>
>>> This makes sense, we're an HTTP server, lets stick to RFC related terms.
>>
>> Done in r 1214022.
>
> Huh, I was wondring what Bill was talking about ... I couldn't remember any
> discussion that had reversed the meaning, and now I know why.
>
> The IP address received by the server interface when we are acting as a
> reverse proxy is not necessarily the IP address of the user agent. It could
> just as easily be the IP address of an ISP proxy, a corporate firewall,
> or a dozen other client-side intermediaries that are not the user agent.
> Hence, it is just a client.
That is EXACTLY our understanding. The immediate connection comes from
"a client". Not the end node asking for the data, but our immediate client
which is a BigIP balancer or a telco cell browser proxy or anything else
which you mention.
"the user agent" is not "just a client", but the originator of the request.
Are we on the same page now?
Re: Effective IP address / real IP address
Posted by "Roy T. Fielding" <fi...@gbiv.com>.
On Dec 13, 2011, at 5:33 PM, Graham Leggett wrote:
> On 14 Dec 2011, at 12:50 AM, Graham Leggett wrote:
>> On 12 Dec 2011, at 11:25 PM, William A. Rowe Jr. wrote:
>>
>>> I have a frustrating update, which we need to take into consideration for
>>> the whole remote_ip-related resolution. From the httpd-ng workgroup...
>>
>> This makes sense, we're an HTTP server, lets stick to RFC related terms.
>
> Done in r 1214022.
Huh, I was wondring what Bill was talking about ... I couldn't remember any
discussion that had reversed the meaning, and now I know why.
The IP address received by the server interface when we are acting as a
reverse proxy is not necessarily the IP address of the user agent. It could
just as easily be the IP address of an ISP proxy, a corporate firewall,
or a dozen other client-side intermediaries that are not the user agent.
Hence, it is just a client.
I can hear Graham screaming now.
No worries -- I don't care what the variable is called in request_rec
as long as the intent is clear enough, so feel free to leave it as is.
....Roy
Re: Effective IP address / real IP address
Posted by Graham Leggett <mi...@sharp.fm>.
On 14 Dec 2011, at 12:50 AM, Graham Leggett wrote:
> On 12 Dec 2011, at 11:25 PM, William A. Rowe Jr. wrote:
>
>> I have a frustrating update, which we need to take into consideration for
>> the whole remote_ip-related resolution. From the httpd-ng workgroup...
>
> This makes sense, we're an HTTP server, lets stick to RFC related terms.
Done in r 1214022.
Regards,
Graham
--
Re: Effective IP address / real IP address
Posted by Graham Leggett <mi...@sharp.fm>.
On 12 Dec 2011, at 11:25 PM, William A. Rowe Jr. wrote:
> I have a frustrating update, which we need to take into consideration for
> the whole remote_ip-related resolution. From the httpd-ng workgroup...
This makes sense, we're an HTTP server, lets stick to RFC related terms.
> Mark Nottingham <mn...@mnot.net> response to my observation below;
>
> That's exactly backwards from how we have always used the terms in HTTP -
>
> 1945:
>
>> client
>>
>> An application program that establishes connections for the
>> purpose of sending requests.
>>
>> user agent
>>
>> The client which initiates a request. These are often browsers,
>> editors, spiders (web-traversing robots), or other end user
>> tools.
>
> 2068:
>
>> client
>> A program that establishes connections for the purpose of sending
>> requests.
>>
>> user agent
>> The client which initiates a request. These are often browsers,
>> editors, spiders (web-traversing robots), or other end user tools.
>
> 2616:
>
>> client
>> A program that establishes connections for the purpose of sending
>> requests.
>>
>> user agent
>> The client which initiates a request. These are often browsers,
>> editors, spiders (web-traversing robots), or other end user tools.
+1.
Regards,
Graham
--