최근 면접을 보았는데 리소스 우선순위를 몰라서 대답을 못했다.
이번에 정리하려고 한다.
<link>
태그 개요<head>
태그 내에 위치.rel
(relationship): 문서와 외부 리소스 간의 관계를 정의.stylesheet
, icon
, preload
, prefetch
, preconnect
.href
: 연결할 리소스의 URL.type
: 리소스의 MIME 타입. (ex: text/css, text/javascript)media
: 리소스가 적용될 미디어의 종류 (ex: 스크린, 프린트 등).crossorigin
: CORS(Cross-Origin Resource Sharing) 설정.as
: 리소스의 유형(예: script
, style
, image
등)을 명시하는 데 사용됨(preload
에 사용).<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="icon" type="image/png" href="favicon.png">
<link rel="preload" as="script" href="script.js">
<link rel="prefetch" href="image.jpg">
<link rel="preconnect" href="https://example.com">
preload
<link rel="preload" as="..." href="...">
<link rel="preload" as="script" href="super-important.js">
<link rel="preload" as="style" href="critical.css">
as
속성 사용: 리소스 유형을 정확히 명시해야 한다.preload
했으나 페이지에서 3초 내로 사용되지 않을 경우, 경고 표시됨.<link rel="preload" as="font" crossorigin="crossorigin" type="font/woff2" href="myfont.woff2">
<link rel="preload" as="script" href="super-important.js">
<link rel="preload" as="style" href="critical.css">
Critical Rendering Path
브라우저가 페이지의 초기 출력을 위해 실행해야 하는 순서를 Critical Rendering Path(CRP)라고 합니다.
preconnect
<link rel="preconnect" href="https://example.com">
<link rel="preconnect" href="https://example.com">
preconnect
는 특히 외부 리소스를 많이 사용하는 웹 페이지에서 중요합니다. 이 기능을 통해 성능을 향상시키고 사용자 경험을 개선할 수 있습니다.
prefetch
<link rel="prefetch" href="...">
<link rel="prefetch" href="page-2.html">
prefetch
는 재귀적으로 작동하지 않습니다. 예를 들어, page-2.html
을 prefetch하는 경우, 해당 HTML 파일은 가져오지만 그 안에 포함된 CSS나 다른 리소스는 가져오지 않습니다.prefetch
를 사용해도 리소스의 로드 우선순위를 변경할 수 없습니다. 예를 들어, <link rel="prefetch" href="optional.css">
다음에 <link rel="stylesheet" href="optional.css">
를 배치하더라도, prefetch
는 stylesheet
링크의 우선순위를 낮추지 않습니다.리소스가 페이지 로드에 필요할 때는 여전히 정상적인 우선순위로 로드됩니다.
Override는 일반적으로 어떤 설정, 명령, 또는 동작이 이전의 설정, 명령, 또는 동작을 대체하거나 무시하는 것을 의미합니다. 웹 개발의 컨텍스트에서, 이 용어는 주로 기존의 속성이나 동작을 새로운 값이나 동작으로 대체하는 상황을 지칭합니다.
확실히 기존 react나 next.js의 흐름을 이해할 때, 도움이 더 잘된 것 같다.
최근 느낀 점이 있는데 디버깅을 할때 보이는 특정 설정 같은 것들을 계속해서 찾아보고 확인하는 습관이 더욱더 필요하다고 느꼈다.
요즘 들어 나에 대해 많이 돌아보는데,
처음 블로그를 작성할 때 목적은 다시 그 내용을 찾는 것이 아니라 나의 블로그를 찾아보고 시간 절약하는 것이 목적이었다.
어느 순간부터 읽어보기만하고, 수시로 정리하지 않았던 것 같다.
이번에 다시 한번 마음을 다잡고 나만의 빅데이터를 만들겠다.
출처 :
https://tcpschool.com/html-tags/link
https://developer.mozilla.org/ko/docs/Web/HTML/Element/link
https://beomy.github.io/tech/browser/preload-preconnect-prefetch/ (추천)