Vercel

Introducing Skew Protection

Jun 21, 2023
Introducing Skew Protection
SummaryAI, from the source post

Introduces Skew Protection, a novel mechanism to eliminate version skew between web clients and servers. This feature ensures that clients that loaded an application with an older version communicate with servers running that same version, preventing errors caused by mismatched deployments. It is enabled by encoding the deployment ID in response HTML for hard navigations and routing subsequent requests based on this ID. The feature is configurable via `next.config.js` for Next.js applications and can be manually implemented for other request types using the `X-Deployment-Id` header. Trade-offs include the risk of downgrade attacks, mitigated by not supporting deployment-binding on browser navigations and limiting to same-origin requests, and the need to consider backend service backward compatibility.

More from the Blue-Green Deployments trail