Has anyone had any experience in using ETags on the DXC?
We've found the following description (from: http://world.episerver.com/digital-experience-cloud-service/development-considerations/cdn-recommendations/):
The ETag or entity tag is part of HTTP protocol. It is added automatically by IIS and is used for web cache validation. Since you cannot use ETags with DXC Service, it is best to disable or remove them from your solution. See general information on how to disable ETag headers.
To the best of my knowledge, ETags aren't added automatically which leads me to think that the documentation is incorrect in this regard? I'd also like to question what the specific reasons are on why ETags cannot be used?
I would guess it's something the CDN service providers within DXC Service and/or Azure Web Apps has issues with.
I would also like a real actual explaination on the page regarding this, but from what I´ve heard in discussions it´s mainly for reducing trips to the server because if etags are set we will see trips to the server to check if an image has changed even if it´s cached in the CDN.
It depends what requests you are referring to. Static files uploaded to the asset library should get Etags by default, since we know for a fact when such a resource changes i.e. the only way a static file can change is if you upload a new version. For requests to resources that are composed from arbitrary managed / unmanaged content objects such as a landing page, determining it's e-tag is difficult and currently inefficient to do automatically without re-computing the result every time.
I was mainly referring to image requests. My answer was based on a discussion and advise we got from Expert Services to remove ETags because it creates unnecessary requests to the backend and the blob storage which impacts performance.
It seems this recommendation comes from the concern raised here https://developer.yahoo.com/performance/rules.html#etags that etags in a server farms using earlier versions of IIS resulted in etags for the same resource varying from server to server, which obviously is not useful. I'm pretty sure this is not a problem for DXC-S today, but will investigate further.
Just a quick update. The current recommendations do look outdated, we are going to do some experiments to figure out how e-tags should be generated for what types of resources and update as appropriate. Thanks for bringing this up!
Did you get to a point to do any changes or update the recommendations regarding this?
@Linus: Yes, the recommendations regarding this have been updated, see http://world.episerver.com/digital-experience-cloud-service/development-considerations/cdn-recommendations/
I have seen the article, just wanted to check if it was accurate or not :).
Nowadays this page is located here: https://world.optimizely.com/documentation/developer-guides/digital-experience-platform/development-considerations/cdn-recommendations/