브라우저가 어떻게 스크립트를 스케쥴링 하고 실행하느냐에 따라서 웹페이지 성능에 큰 영향을 미친다. <script defer />
<link rel=preload>
등등 스크립트 로딩에 영향을 미치는 다양한 기술들이 있으며 이러한 기술을 브라우저에서 어떤 순서로 처리하는지 이해하는 것도 중요하다.
<head />
안에 있는 <script />
중간, 높음
매우높음, 파서 실행을 멈춤
<link rel=preload
+ <script async>
또는 <script type=module async />
중간, 높음
높음, 파서 실행을 방해함
<script async type=module />
<canvas />
에 그려야 하는 것<script async />
제일 낮음, 낮음
높음, 파서를 방해함
사용할 때 주의 해야 한다. (https://calendar.perfplanet.com/2016/prefer-defer-over-async/) 요즘 들어 중요하지 않은 스크립트를 로딩 할 때 많이 사용하고 있지만, 로딩 우선순위만 낮을 뿐 실행 우선순위는 높다는 것을 기억해야 한다.
<script defer />
제일 낮음, 낮음
매우 낮음, <body />
최하단에 있는 <script />
가 실행된 이후에 실행
<body />
최하단에 있는 <script />
중간, 높음
낮음, 파서의 작업이 끝나기를 기다림
이 방법은 생각만큼 낮은 우선순위로 실행되지 않는다.
<body />
최하단에 있는 <script defer />
가장 낮음, 낮음, 큐의 모든 작업이 끝난 후에 실행됨.
매우 낮음. <body />
최하단에 있는 <script />
보다도 낮음.
<link rel=prefetch />
+ <script/>
작업이 없을 때, 가장낮음
스크립트가 어떻게 작동하느냐에 따라 다름.
다음 페이지 탐색을 위한 중요한 기능을 제공하는 스크립트