cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

When should we use "Use Proxy API for XHRs"?

AntonioSousa
DynaMight Guru
DynaMight Guru

When enabling generic support for XHR requests in RUM, there is an option that is automatically enabled when XHRs are being captured: "Use Proxy API for XHRs"

AntonioSousa_0-1697730711550.png

There is little information on this option. There is a reference in https://community.dynatrace.com/t5/Troubleshooting/What-is-a-possible-reason-and-solution-when-appli...
but it states to select it if "customer does not need to support older browsers".

Does anyone know a little bit more about what this does, and when we should not enable it?

Antonio Sousa
1 REPLY 1

radek_jasinski
DynaMight Guru
DynaMight Guru

Hi @AntonioSousa 

An API proxy serves as an intermediary bridging the gap between a user or application and backend services. It functions as a versatile piece of software responsible for handling data transformations, ensuring security, managing routing, shaping traffic, and more. Essentially, it acts as a mediator that customizes the interface for the user or application, subsequently making the necessary calls to the backend service(s) on behalf of the user or application.

API proxies prove invaluable in situations where you aim to avoid altering your backend services to accommodate different access patterns or to maintain a clear separation between the consumer and the actual service implementation. An API proxy establishes an essential level of abstraction between the consumer and the backend. This architectural pattern also enables you to present a consistent interface to the consuming application. If changes occur in the backend services, you can modify the API proxy accordingly without affecting how the consuming application accesses the data. While this might seem like duplicating effort, it helps shield frontend developers from backend changes. When alterations are needed on the backend, adjustments in the API proxy implementation suffice, and the frontend remains unaffected. Introducing an additional layer between your frontend and backend does introduce some latency. However, an API proxy can also facilitate caching for certain resource-intensive API calls, which can ultimately reduce latency. An API proxy capable of making requests and caching combined results can significantly enhance user performance compared to making separate requests.

In summary, using the Proxy API is not only more efficient, but also more secure. Standard XML wrapping should only be used if you do not have support for the Proxy API.

More info: https://youtu.be/JLwP2tRiRlI?si=dbicJcoXkSGZ6Kaf

I hope I have helped😉

Have a nice day!

Featured Posts