RFC 8586 protects systems from intra-CDN infinite loops.
The basic requirement here would be to copy any cdn-loop header from an incoming HTTP request onto any outbound HTTP request(s).
Given that it is somewhat natural to implement "CDN-like" features in Spin, I think this should be an opt-out runtime-configurable feature.
Open questions around whether/how to expose this header to guests:
- Should it appear in inbound requests? I'd default to yes, but in some sense it may make the spin environment a little less portable.
- Should guests be able to add values? Seems fine to allow, in which case any outbound
cdn-loop header value(s) must be sent after copied inbound value(s).
- If the answer to both of the above questions is "yes", we should probably be smart about only copying the header if the guest hasn't already (which it likely would if simply forwarding a request).
RFC 8586 protects systems from intra-CDN infinite loops.
The basic requirement here would be to copy any
cdn-loopheader from an incoming HTTP request onto any outbound HTTP request(s).Given that it is somewhat natural to implement "CDN-like" features in Spin, I think this should be an opt-out runtime-configurable feature.
Open questions around whether/how to expose this header to guests:
cdn-loopheader value(s) must be sent after copied inbound value(s).