diff --git a/app/__init__.py b/app/__init__.py index 561b322f8..4c7b35cf9 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -630,6 +630,11 @@ def useful_headers_after_request(response): logo_domain=get_logo_cdn_domain(), ) )) + response.headers.add('Link', ( + '<{asset_url}>; rel=dns-prefetch, <{asset_url}>; rel=preconnect'.format( + asset_url=f'https://{current_app.config["ASSET_DOMAIN"]}' + ) + )) if 'Cache-Control' in response.headers: del response.headers['Cache-Control'] response.headers.add( diff --git a/tests/app/main/views/test_headers.py b/tests/app/main/views/test_headers.py index 003a208c1..9bbba9f17 100644 --- a/tests/app/main/views/test_headers.py +++ b/tests/app/main/views/test_headers.py @@ -24,6 +24,10 @@ def test_owasp_useful_headers_set( " *.notifications.service.gov.uk static-logos.test.com data:;" "frame-src 'self' www.youtube-nocookie.com;" ) + assert response.headers['Link'] == ( + '; rel=dns-prefetch, ' + '; rel=preconnect' + ) def test_headers_non_ascii_characters_are_replaced(