The RFC isn’t clear on what can be normalized for generating cache keys.  In 
practice I have done other methods for normalizing URLs such as sorting query 
parameters.  I have also lowercased paths knowing that the origin would be 
doing the same, which I would recommend in this case.

-Bryan


> On Jun 11, 2019, at 11:24 AM, Walt Karas <wka...@verizonmedia.com.INVALID> 
> wrote:
> 
> Sorry, premature send, my Mac sucks, fix it zwoop.
> 
> I looked and the IETF specs and discussed it with Dave Thompson.  It seems
> that the only parts of the URL/URI that the Standards require to be case
> insensitive are the scheme and the host.  Our plugin compares the URL with
> a simple string compare.  I think, for the purposes of that plugin, all
> other parts of the URL are case sensitive.  I'd rather not have to change
> the plugin to have to deal with each component of the effective URL
> individually.  Of course, this is probably just a fail safe, I would bet
> $10 that the widely used browsers normalize the scheme and host to
> lowercase anyway.
> 
> On Tue, Jun 11, 2019 at 1:18 PM Walt Karas <wka...@verizonmedia.com> wrote:
> 
>> I looked and the IETF specs and discussed it with Dave Thompson.  It seems
>> that the only parts of the URL/URI that the Standards requ
>> 
>> On Tue, Jun 11, 2019 at 12:59 PM Bryan Call <bc...@apache.org> wrote:
>> 
>>> What are you matching against?  Are you trying to match against the URL
>>> of a previous request?  Why only normalize the scheme and host and not the
>>> path, query parameters, or matrix parameters?
>>> 
>>> I think the problem is you are not giving details and people are guessing
>>> at what you are trying to accomplish.
>>> 
>>> -Bryan
>>> 
>>> 
>>>> On Jun 11, 2019, at 10:14 AM, Walt Karas <wka...@verizonmedia.com.INVALID>
>>> wrote:
>>>> 
>>>> We (Verizon) want to deploy a plugin that matches on URL premap.  With
>>> the
>>>> host and scheme normalized, we can do the matching using a simple string
>>>> compare.  I had put up a PR to simply change the behavior of
>>>> TSHttpTxnEffectiveUrlStringGet() but it was pocket vetoed by lack of
>>>> reviews.
>>>> 
>>>> On Tue, Jun 11, 2019 at 12:03 PM Sudheer Vinukonda
>>>> <sudheervinuko...@yahoo.com.invalid> wrote:
>>>> 
>>>>> Hmm..But, how do you define "correct" normalization? Wouldn't that be
>>> use
>>>>> case specific? Which is exactly why it feels like this shouldn't be
>>> done in
>>>>> the core?
>>>>> If the use case is a common one that benefits everyone, then there
>>> might
>>>>> still be value in supporting it. That's why, curious to understand the
>>> use
>>>>> case.
>>>>>   On Tuesday, June 11, 2019, 8:49:24 AM PDT, Alan Carroll
>>>>> <solidwallofc...@verizonmedia.com.INVALID> wrote:
>>>>> 
>>>>> The issue is, what is the correct normalization to perform? If that's
>>>>> non-trivial, there's an argument for embedding that in the API  rather
>>> than
>>>>> requiring every plugin to hand roll it. It would be the same reason
>>>>> `realpath` exists.
>>>>> 
>>> 
>>> 

Reply via email to