diff --git a/.changeset/smart-peas-compare.md b/.changeset/smart-peas-compare.md new file mode 100644 index 000000000000..c9062feb0bb4 --- /dev/null +++ b/.changeset/smart-peas-compare.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/kit': patch +--- + +Prevent `Connection` header from being incorrectly inherited by requests made from `load`'s `fetch` during SSR diff --git a/packages/kit/src/runtime/server/page/load_node.js b/packages/kit/src/runtime/server/page/load_node.js index 5ce5abd4d614..de860017dd9c 100644 --- a/packages/kit/src/runtime/server/page/load_node.js +++ b/packages/kit/src/runtime/server/page/load_node.js @@ -129,6 +129,7 @@ export async function load_node({ for (const [key, value] of event.request.headers) { if ( key !== 'authorization' && + key !== 'connection' && key !== 'cookie' && key !== 'host' && key !== 'if-none-match' && diff --git a/packages/kit/test/apps/basics/test/test.js b/packages/kit/test/apps/basics/test/test.js index 8d1b4baaccd4..74255dfc7ead 100644 --- a/packages/kit/test/apps/basics/test/test.js +++ b/packages/kit/test/apps/basics/test/test.js @@ -1441,7 +1441,7 @@ test.describe('Load', () => { browserName === 'webkit' ? undefined : javaScriptEnabled ? 'empty' : 'document', 'sec-fetch-mode': browserName === 'webkit' ? undefined : javaScriptEnabled ? 'cors' : 'navigate', - connection: 'keep-alive' + connection: javaScriptEnabled ? 'keep-alive' : undefined }); });