I still stand by my recommendation :)   Vary header is what you want.  If
you add Vary to the origin response, the next request ATS will make sure
Surname from request matches Surname on cached response prior to serving
item from cache.  If it doesn't match, it will go to origin.

Maybe this article explains Vary header better - see "How Vary works: a
recap"

https://www.fastly.com/blog/getting-most-out-vary-fastly

David

On Mon, Feb 11, 2019 at 8:08 AM Divittorio, Vincenzo <
[email protected]> wrote:

> Hello,
>
> I don’t want to add header in the response but to identiy an unique
> request I need to evaluate URI request and only one header in the request.
>
> You imagine that I have a rqeust that accept name in query param and
> surname in the header.
>
> The response will return “Hello Name surname”. It means that to understand
> if the request is unique or not, if the request is already present or not I
> need to evaluate also one header in the request.
>
>
>
> If I evaluate just the URI it is not sufficient
>
>
>
> Example
>
> Request 1 /get/username?name=Peter
>
> HEADER
>
> Surname: Green
>
>
>
> Response Hello Peter Green
>
>
>
> Request 2 /get/username?name=Peter
>
> HEADER
>
> Surname: Black
>
>
>
> Response Hello Peter Black
>
>
>
> If I will evaluate just the header I will not able if we are talking about
> Peter Green or Peter Black.
>
> So finally how I can evaluate also an header in the request?
>
>
>
> Thanks
>
>
>
>
>
> *From:* David Carlin <[email protected]>
> *Sent:* lunedì 11 febbraio 2019 13:52
> *To:* [email protected]; Divittorio, Vincenzo <
> [email protected]>
> *Subject:* [External] Re: how manage headers in cache
>
>
>
> Vincenzo,
>
> What if you add "Vary:  Surname" header to the origin response?
>
> https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Vary
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__developer.mozilla.org_en-2DUS_docs_Web_HTTP_Headers_Vary&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=nsV__I40yD7vHZxsO42FPFt3gWL4Bb_P7rT1RrUHG-kYWyc9mkNvj7z_a9YHfsi9&m=QXdAsgAblWKAKBH5DVuTWutlYPER7sJMY-ZyASvPkfY&s=oeZEV71gGZEKIeCNau7I0lfxMDv3MCedSoVBDtsI9MY&e=>
>
>
>
> Also be aware of this ATS setting which controls the maximum number of
> alternates for an object in cache (for a given URI):
>
>
>
>
> https://docs.trafficserver.apache.org/en/latest/admin-guide/files/records.config.en.html?highlight=empty#proxy-config-cache-limits-http-max-alts
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.trafficserver.apache.org_en_latest_admin-2Dguide_files_records.config.en.html-3Fhighlight-3Dempty-23proxy-2Dconfig-2Dcache-2Dlimits-2Dhttp-2Dmax-2Dalts&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=nsV__I40yD7vHZxsO42FPFt3gWL4Bb_P7rT1RrUHG-kYWyc9mkNvj7z_a9YHfsi9&m=QXdAsgAblWKAKBH5DVuTWutlYPER7sJMY-ZyASvPkfY&s=trsxp1_pf_DhVrLtthikdhBYuVvVYabPc_CEP-t4dC4&e=>
>
>
>
> If you expect lots of alternates, I would consider the cachekey plugin so
> that you can make the request header part of the cache key:
>
>
>
>
> https://docs.trafficserver.apache.org/en/latest/admin-guide/plugins/cachekey.en.html
> <https://urldefense.proofpoint.com/v2/url?u=https-3A__docs.trafficserver.apache.org_en_latest_admin-2Dguide_plugins_cachekey.en.html&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=nsV__I40yD7vHZxsO42FPFt3gWL4Bb_P7rT1RrUHG-kYWyc9mkNvj7z_a9YHfsi9&m=QXdAsgAblWKAKBH5DVuTWutlYPER7sJMY-ZyASvPkfY&s=K-bMLOPfL3Cp4TJDg6Hodq68Y11D3KkJ6ssZnkz4Yhk&e=>
>
>
>
> David
>
>
>
>
>
>
>
> On Mon, Feb 11, 2019 at 7:43 AM Divittorio, Vincenzo <
> [email protected]> wrote:
>
> Hi all,
>
> I’m using ATS as reverse proxy cache.
>
> It works for HTTP GET request with parameter in URL.
>
> My question is: can we add to the request key also some headers?
>
>
>
> This is the example: I have following request
>
> *URI*: http://myhost:myport/cxf/stubs/ats/username?name=Peter
> <https://urldefense.proofpoint.com/v2/url?u=http-3A__10.1.65.73-3A18009_cxf_expo20_jaws_stubs_ats_username-3Fname-3DPeter&d=DwMFaQ&c=eIGjsITfXP_y-DLLX0uEHXJvU8nOHrUK8IrwNKOtkVU&r=nsV__I40yD7vHZxsO42FPFt3gWL4Bb_P7rT1RrUHG-kYWyc9mkNvj7z_a9YHfsi9&m=QXdAsgAblWKAKBH5DVuTWutlYPER7sJMY-ZyASvPkfY&s=D1a8k1j6vWitg8dAS0stN9clWe8RQw_y5pip8obMXpc&e=>
>
> *Headers*:
>
>    - Surname: Green
>    - Timestamp: 1234567890
>    - Content-type: application/json
>
>
>
>
>
>    - *Response*:
>    {
>
>     "output": "hello Peter Green"
>
> }
>
>
>
> Now, ATS works until when the URI is always the same. If I change in the
> header Surname=Black, it goes to retrieve data from cache but in this case
> is should be forwarded to backend because the surname is different.
>
>
>
> What I want to do it to accept as key of request (to verify if it exists
> or not) also an header whitelist in order to say ok you have to retrieve
> from cache not just if the URI is the same but if *uri* + *surname*
> header value are the same.
>
> How I can include some headers to identify if the request (as a key) is an
> entry of my cache?
>
> Thanks
>
> Regards
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
> ------------------------------
>
>
> This message is for the designated recipient only and may contain
> privileged, proprietary, or otherwise confidential information. If you have
> received it in error, please notify the sender immediately and delete the
> original. Any other use of the e-mail by you is prohibited. Where allowed
> by local law, electronic communications with Accenture and its affiliates,
> including e-mail and instant messaging (including content), may be scanned
> by our systems for the purposes of information security and assessment of
> internal compliance with Accenture policy. Your privacy is important to us.
> Accenture uses your personal data only in compliance with data protection
> laws. For further information on how Accenture processes your personal
> data, please see our privacy statement at
> https://www.accenture.com/us-en/privacy-policy.
>
> ______________________________________________________________________________________
>
> www.accenture.com
>
>

Reply via email to