Я создал тестовую страницу в crenshaw.dev / demo / hints.html с подсказками браузера, запрашивающими dns-предварительную выборку и предварительное подключение к mac9416.com.
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Test resource hints</title>
<link rel="dns-prefetch" href="//mac9416.com">
<link rel="preconnect" href="https://mac9416.com" crossorigin>
</head>
<body>
Lorem ipsum dolor sit amet,
<!-- a bunch more to delay page loading -->
Duis dignissim gravida commodo.
<script src="https://mac9416.com/blah.js"></script>
</body>
</html>
Но в соответствии с WebPageTest , подключение к mac9416.com не происходит до тех пор, пока не будет полностью загружен index.html.
Почему Chrome не подключается к mac9416.com сразу после разбора <head>
?
ОБНОВЛЕНИЕ:
На основании принятого ответа и комментария, я написал объяснение исправления.
Атрибут crossorigin
, когда используется с rel="preconnect"
, не описывает , где целевое начало - , носкорее , какие активы будут загружены из этого источника .Если в активах используется CORS, необходимо crossorigin
.Если CORS не будет использоваться, crossorigin
следует опустить.Если будут присутствовать оба типа активов, необходимы две подсказки ресурса.