Baseline Widely available *
<link>
ììì rel
í¹ì±ì preload
ê°ì HTMLì <head>
ìì ê°ì ¸ì¤ê¸° ìì²ì ì ì¸í ì ìê² í´ì£¼ë©°, íì´ì§ìì ì¦ì íìë¡ í 리ìì¤ë¥¼ ëª
ìí ì ììµëë¤. ì´ë¬í 리ìì¤ë ë¸ë¼ì°ì ì 주ì ë ëë§ ì ì°¨ê° ê°ì
í기 ì ì íì´ì§ ìëª
주기ì ì´ê¸°ìì ë¶ë¬ì¤ê³ ì íë 리ìì¤ì
ëë¤. ì´ë í´ë¹ 리ìì¤ë¤ì ë 빨리 ì¬ì©í ì ìê² íê³ , íì´ì§ì ë ëë§ì ë§ì ê°ë¥ì±ì´ ë®ìì ¸ ì±ë¥ì´ í¥ìë©ëë¤.
íì´ì§ë¥¼ ì¤íì¼ë§í기 ìí´ ì£¼ë¡ ë¤ìê³¼ ê°ì´ <link>
를 ì´ì©í´ CSS íì¼ì ë¡ëí ê²ì
ëë¤.
<link rel="stylesheet" href="styles/main.css" />
íì§ë§ ì¬ê¸°ìë <link>
를 ìíë ì´ë¤ 리ìì¤ìë ì¬ì© ê°ë¥í í리ë¡ëë¡ ë°ê¿ì£¼ë preload
ì rel
ê°ì ì¬ì©íê² ìµëë¤. ëìì ë¤ì ì¬íë ëª
ìí´ì¼ í©ëë¤.
href
í¹ì±ì 리ìì¤ì ê²½ë¡ë¥¼ ëª
ìí´ì¼ í©ëë¤.as
í¹ì±ì 리ìì¤ì ì íì ëª
ìí´ì¼ í©ëë¤.ì´ì ê°ì ê°ë¨í ìì 를 구ì±í ì ììµëë¤. (JavaScript ë° CSS ìì ìì¤ì, and ë¼ì´ë¸ ìì ë ì°¸ê³ íì¸ì):
<head>
<meta charset="utf-8" />
<title>JavaScript ë° CSS ìì ìì¤</title>
<link rel="preload" href="style.css" as="style" />
<link rel="preload" href="main.js" as="script" />
<link rel="stylesheet" href="style.css" />
</head>
<body>
<h1>bouncing balls</h1>
<canvas></canvas>
<script src="main.js" defer></script>
</body>
ì¬ê¸°ìë íì´ì§ì ë ëë§ ê³¼ì ì CSSì JavaScript íì¼ì´ íìí ë ì¦ì ì¬ì©í ì ìëë¡ í리ë¡ëíìµëë¤. ì´ ìì ë ë¸ë¼ì°ì ê° <link rel="stylesheet">
ììì <script>
ììê° í리ë¡ë ìììì ëì¼í HTML ì²í¬ìì ë°ê²¬í기 ë문ì ë¨ìí´ ë³´ì´ì§ë§, ë¤ìì ê²½ì°ì²ë¼ 리ìì¤ê° ë¦ê² ë°ê²¬ëê±°ë í¬ê¸°ê° í´ìë¡ í리ë¡ëì ì´ì ì ëì±ë ëª
íí´ì§ëë¤.
preload
ë ëë¤ë¥¸ ì¥ì ì ê°ì§ê³ ììµëë¤. as
를 ì´ì©í´ í¹ì í ì íì ì½í
ì¸ ë¥¼ í리ë¡ëíëë¡ ì§ì íë©´ ë¸ë¼ì°ì ë ë¤ìê³¼ ê°ì ìì
ì í ì ììµëë¤.
Accept
ìì² í¤ë를 ì¤ì í ì ììµëë¤.ë¤ìí ì íì ì½í
ì¸ ë¥¼ í리ë¡ëí ì ììµëë¤. as
í¹ì±ì¼ë¡ ì§ì ê°ë¥í ê°ì ë¤ìê³¼ ê°ìµëë¤.
audio
: ì£¼ë¡ <audio>
ìì ì°ì´ë ì¤ëì¤ íì¼.document
: <frame>
í¹ì <iframe>
ì ìí´ ì½ì
ëë 문ì.embed
: <embed>
ìì ë´ë¶ì ì½ì
ëë 리ìì¤.fetch
: ArrayBuffer í¹ì JSON íì¼ ë±ì fetch ìì²ì´ë XHR ìì²ì ìí´ ì¡ì¸ì¤í ì ìë 리ìì¤.font
: í°í¸ íì¼.image
: ì´ë¯¸ì§ íì¼.object
: <object>
ìì ë´ë¶ì ì½ì
ëë 리ìì¤.script
: JavaScript íì¼.style
: CSS ì¤íì¼ìí¸.track
: WebVTT íì¼.worker
: JavaScript ì¹ ì커 í¹ì ê³µì ì커.video
: ì£¼ë¡ <video>
ì ì¬ì©ëë ë¹ëì¤ íì¼.ì°¸ê³ :
video
를 í리ë¡ë©íë ê²ì í리ë¡ë ì¤íì í¬í¨ëì´ ìì§ë§ íì¬ ë¸ë¼ì°ì ìë 구íëì§ ìììµëë¤.
ì°¸ê³ : ë¸ë¼ì°ì ìì ì¬ì©ë ì ìë ì´ë¬í ê°ë¤ê³¼ ì¹ì 기ë¥ì ëí ë ìì¸í ë´ì©ì í리ë¡ë ì¤íì 기ì¬ëì´ ììµëë¤. - link ìì íì¥ì ì°¸ê³ íì¸ì. ëí, as
í¹ì±ì ì¬ì©í ì ìë ê°ë¤ì ì ì²´ 목ë¡ì Fetch ì¤íì ìí´ ê´ë¦¬ëê³ ììì ì°¸ê³ íì¸ì - ìì² ëìì ì°¸ê³ íì¸ì.
<link>
ììë type
í¹ì±ì ê°ì§ ì ìëë°, ì´ í¹ì±ì <link>
ììê° ê°ë¦¬í¤ê³ ìë 리ìì¤ì MIME íì
ì í¬í¨íê³ ììµëë¤. ì´ë 리ìì¤ë¥¼ í리ë¡ëíë ë° í¹í ì ì©í©ëë¤. ë¸ë¼ì°ì ë type
í¹ì±ì ê°ì ì¬ì©íì¬ í´ë¹ 리ìì¤ë¥¼ ì§ìí ëìë§ ìì
ì ìííê±°ë ë¤ì´ë¡ëíê³ , ì§ìíì§ ìëë¤ë©´ 무ìí기 ë문ì
ëë¤.
ë¹ëì¤ ìì (ì ì²´ ìì¤ ì½ë를 ì°¸ê³ íì¸ì)ì ìë ëììë ì½ëë¡ ë§ë¤ì´ì§ ë¼ì´ë¸ ìì ìì ì´ì ëí ìì 를 ë³¼ ì ììµëë¤. ì½ë ì¡°ê°ì ë°ë¡ ìëì ëì ììµëë¤. ëí, 모ë ë¸ë¼ì°ì ìì ë¹ëì¤ í리ë¡ë©ì ì§ìíë ê²ì ìë기 ë문ì ì´ ìì ì½ëë¡ ëª¨ë ë¸ë¼ì°ì ìì í리ë¡ë©ì í ì ìë ê²ì ìëì§ë§ í리ë¡ëì ê·¼ê°ì ì´ë£¨ë íµì¬ ëìì ì ì²´ì ì¼ë¡ ë³¼ ì ììµëë¤.
<head>
<meta charset="utf-8" />
<title>ë¹ëì¤ í리ë¡ë ìì </title>
<link rel="preload" href="sintel-short.mp4" as="video" type="video/mp4" />
</head>
<body>
<video controls>
<source src="sintel-short.mp4" type="video/mp4" />
<source src="sintel-short.webm" type="video/webm" />
<p>
íì¬ ë¸ë¼ì°ì ë HTML5를 ì§ìíì§ ììµëë¤. ëì
<a href="sintel-short.mp4">ì´ ë¹ëì¤ ë§í¬</a>를 ì¬ì©íì¸ì.
</p>
</video>
</body>
ì ìì ì ì½ëë ì§ìíë ë¸ë¼ì°ì ì íí´ video/mp4
ë¹ëì¤ë¥¼ í리ë¡ëí©ëë¤. ê·¸ë¦¬ê³ video/mp4
를 ì§ìíë ë¸ë¼ì°ì ì¬ì©ì를 ìí´ video/mp4
를 ì°ì ì¼ë¡ ì¬ì©íê² í©ëë¤(<source>
ìì video/mp4
ê° ì²« ë²ì§¸ í목ì´ê¸° ë문ì
ëë¤). ì´ë¡ ì¸í´ ë¹ëì¤ íë ì´ì´ê° video/mp4
를 ì§ìíë ë¸ë¼ì°ì ì¬ì©ììê² ë ë¶ëë½ê³ ë¹ ë¥´ê² ë°ìí ì ììµëë¤.
ëí, video/mp4
ì video/webm
ì 모ë ì§ìíë ë¸ë¼ì°ì ì¬ì©ìì ê²½ì° ì ì½ëì <link rel="preload" href="sintel-short.webm" as="video" type="video/webm">
ììê° ì¶ê°ëë¤ë©´ video/mp4
ì video/webm
'모ë' í리ë¡ëë ê²ì
ëë¤(ë¬¼ë¡ ë¸ë¼ì°ì ììë ì¤ì ë¡ ë ì íì ë¹ëì¤ ì¤ íëë§ ë³´ì¬ì§ ê²ì
ëë¤).
ë°ë¼ì, ëì¼í 리ìì¤ì ëí´ ì¬ë¬ ê°ì íì
ì ì§ì í´ í리ë¡ë íë ê²ì ê¶ì¥ëì§ ììµëë¤. ëì , ëª¨ë² ì¬ë¡ë ê°ì¥ ë§ì ì¬ì©ììê² í´ë¹ë ê²ì¼ë¡ ììëë íì
ì ëí´ìë§ í리ë¡ëíë ê²ì
ëë¤. ì´ ë문ì ì ìì ì½ëììë video/webm
ë¹ëì¤ì ëí´ í리ë¡ë를 ëª
ìíì§ ìììµëë¤.
íì§ë§, video/webm
ì í리ë¡ë©íì§ ìëë¤ê³ í´ì video/webm
ë¹ëì¤ë¥¼ íìë¡ íë ê²½ì°ì ì´ë¥¼ ì¬ì©í ì ìë ê²ì ìëëë¤. video/mp4
를 ì§ìíì§ ìì§ë§ video/webm
ì ì§ìíë ë¸ë¼ì°ì ì¬ì©ìë¤ì ê²½ì°, ì ìì ì½ëìì ì¬ì í video/webm
ë¹ëì¤ë¥¼ ì¬ì©í ì ììµëë¤. ë¤ë§ ë¤ë¥¸ ì¬ì©ìë¤ ì¤ ëë¤ììê² video/webm
ì ë¶íìíê² í리ë¡ëíì§ ìì ì±ë¡ ì¬ì©í ì ìë¤ë ì ì
ëë¤.
CORSê° íì±íí ì±ë¡ 리ìì¤ë¥¼ í리ë¡ëí ë(fetch()
, XMLHttpRequest
, fonts ë±), crossorigin
í¹ì±ì <link>
ììì ì§ì íëì§ ì¸ì¬íê² ì´í´ë´ì¼ í©ëë¤. ì´ í¹ì±ì êµì°¨ ì¶ì² ìì²ì´ ìë ê²½ì°ìë í´ë¹ 리ìì¤ì CORSì credentials 모ë를 ì¼ì¹ìí¤ê¸° ìí´ ì§ì í´ì¼ íë í¹ì±ì
ëë¤.
ììì ì¸ê¸ë ê²ê³¼ ê°ì´, í°í¸ íì¼ì ë¡ë©íë ê²ì´ ì´ì ê´ë ¨ë í¥ë¯¸ë¡ì´ ì¬ë¡ì ëë¤. ì¬ë¬ ì´ì ë¡ ì¸í´, í°í¸ íì¼ì ìµëª 모ë CORS를 íµí´ ìì² ëì´ì¼ í©ëë¤(í°í¸ ìì² ì¡°ê±´ë¥¼ ì°¸ê³ íì¸ì).
ì´ ê²½ì°ë¥¼ ìë ìì ìì ë¤ë¤ë³´ê² ìµëë¤. GitHubì ì ë¡ëë ì ì²´ ì½ë를 ì°¸ê³ íì¸ì(ë¼ì´ë¸ ìì ë¡ë ë³¼ ì ììµëë¤).
<head>
<meta charset="utf-8" />
<title>ì¹ í°í¸ ìì </title>
<link
rel="preload"
href="fonts/cicle_fina-webfont.woff2"
as="font"
type="font/woff2"
crossorigin />
<link
rel="preload"
href="fonts/zantroke-webfont.woff2"
as="font"
type="font/woff2"
crossorigin />
<link href="style.css" rel="stylesheet" />
</head>
<body>
â¦
</body>
ì ìì ììë type
í¹ì±ì MIME íì
íí¸ë¥¼ ì ê³µíì ë¿ë§ ìëë¼, í리ë¡ëì CORS 모ë를 ìµì¢
í°í¸ 리ìì¤ ìì²ê³¼ íì¤íê² ì¼ì¹ìí¤ê¸° ìí´ crossorigin
í¹ì±ë ì§ì íìµëë¤.
<link>
ììì í ê°ì§ ë©ì§ 기ë¥ì media
í¹ì±ì í¬í¨í ì ìë¤ë ê²ì
ëë¤. <link>
ë 미ëì´ íì
í¹ì ìì í 미ëì´ ì¿¼ë¦¬ë¥¼ í¬í¨í ì ì기 ë문ì ë°ìí í리ë¡ë를 í ì ììµëë¤.
ìì 를 ì´í´ë³´ê² ìµëë¤(GitHubìì ìì¤ ì½ëì ë¼ì´ë¸ ìì 를 ì°¸ê³ íì¸ì).
<head>
<meta charset="utf-8" />
<title>ë°ìí í리ë¡ë ìì </title>
<link
rel="preload"
href="bg-image-narrow.png"
as="image"
media="(max-width: 600px)" />
<link
rel="preload"
href="bg-image-wide.png"
as="image"
media="(min-width: 601px)" />
<link rel="stylesheet" href="main.css" />
</head>
<body>
<header>
<h1>ë´ ì¬ì´í¸</h1>
</header>
<script>
var mediaQueryList = window.matchMedia("(max-width: 600px)");
var header = document.querySelector("header");
if (mediaQueryList.matches) {
header.style.backgroundImage = "url(bg-image-narrow.png)";
} else {
header.style.backgroundImage = "url(bg-image-wide.png)";
}
</script>
</body>
ì ìì ììë ì¬ì©ìê° ì¢ì íì ë·°í¬í¸ë¥¼ ê°ì§ê³ ìë ê²½ì° ìì ì´ë¯¸ì§ë¥¼ í리ë¡ëíê³ , ëì íì ë·°í¬í¸ë¥¼ ê°ì§ê³ ìë ê²½ì° ë í° ì´ë¯¸ì§ë¥¼ í리ë¡ëí기 ìí´ <link>
ììì media
í¹ì±ì í¬í¨íìµëë¤. ì´ë¥¼ ìí´ Window.matchMedia
/ MediaQueryList
를 ì¬ì©íìµëë¤(ë ìì¸í ë´ì©ì 미ëì´ ì¿¼ë¦¬ í
ì¤í¸í기를 ì°¸ê³ íì¸ì).
ì ë°©ë²ì í°í¸ê° íì´ì§ê° ë ëë§ë ë ì¬ì© ê°ë¥íëë¡ ë§ë¤ì´ FOUT(ì¤íì¼ì´ ì ì©ëì§ ìì í ì¤í¸ê° ì ì íì¶ëë íì)ì ì¤ì ëë¤.
ëí ì ë°©ë²ì ì´ë¯¸ì§ì êµíë íìê° ìê³ , ë°ëì ê°ì ì íì íì¼ë¼ë¦¬ë§ ì¬ì©í ì ìë ê²ë ìëëë¤. ë ëê² ìê°í´ë³´ì¸ì! ëìíê³¼ CPUê° í¹í ë ì íì ì¼ ì ìë ì¢ì íë©´ì¼ë¡ ì ìí ì¬ì©ìê° ìë¤ë©´ ë¨ìí SVG ëíì í리ë¡ëí´ì ë³´ì¬ì£¼ê±°ë, ì¶©ë¶í ëìíê³¼ CPU를 ê°ì§ ì¬ì©ììê²ë ë³µì¡í JavaScript ì²í¬ë¥¼ í리ë¡ëíì¬ ìí¸ìì©ì´ ê°ë¥í 3D 모ë¸ì ë ëë§í ìë ìì ê²ì ëë¤.
ì¤í¬ë¦½í ê³¼ í리ë¡ëì´ë¬í í리ë¡ëì ë ë¤ë¥¸ ë©ì§ ì ì JavaScript를 íµí´ í리ë¡ë를 í ì ìë¤ë ì ì
ëë¤. ì를 ë¤ì´, HTMLLinkElement
ì¸ì¤í´ì¤ë¥¼ ìì±í´ ì´ë¥¼ DOMì ë¶ì°©í´ë³´ê² ìµëë¤.
var preloadLink = document.createElement("link");
preloadLink.href = "myscript.js";
preloadLink.rel = "preload";
preloadLink.as = "script";
document.head.appendChild(preloadLink);
ì´ë ë¸ë¼ì°ì ê° myscript.js
íì¼ì í리ë¡ëí ê²ì´ì§ë§ ìì§ ì¬ì©íì§ë ìììì ì미í©ëë¤. íì¼ì ì¬ì©íë ¤ë©´, ë¤ìê³¼ ê°ì´ í ì ììµëë¤.
var preloadedScript = document.createElement("script");
preloadedScript.src = "myscript.js";
document.body.appendChild(preloadedScript);
ì´ ë°©ë²ì ì¤í¬ë¦½í¸ë¥¼ í리ë¡ëíê³ ì¶ì§ë§, ì¤ì ì´ ì¤í¬ë¦½í¸ë¥¼ íìë¡ í ëê¹ì§ ì¤íì ë¦ì¶ë ¤ê³ í ë ì ì©í©ëë¤.
ë¤ë¥¸ 리ìì¤ í리ë¡ë© ìë ë°©ìë¤ë¥¸ í리ë¡ë© ê´ë ¨ 기ë¥ì´ ì¡´ì¬í기ë íì§ë§, <link rel="preload">
ë§í¼ 목ì ì ì ë¶í©íë 기ë¥ì ììµëë¤.
<link rel="prefetch">
ë ì¬ë¬ ë¸ë¼ì°ì ë¤ìì ì¤ë«ëì ì§ìëì´ ìì§ë§, ì´ë ë¤ì íì´ì§ ì´ëì´ë íì´ì§ ë¡ëì ì¬ì©ë 리ìì¤ë¥¼ í리ë¡ë©í기 ìí 목ì ì´ììµëë¤(ì를 ë¤ì´, ë¤ì íì´ì§ë¡ ì´ëí ë). ì´ ìì íë¥íì§ë§, íì¬ íì´ì§ìë ì ì©í ê²ì ìëëë¤! ê²ë¤ê°, ë¸ë¼ì°ì ë prefetch
리ìì¤ìê² preload
리ìì¤ë³´ë¤ ë ë®ì ì°ì ìì를 ë¶ì¬í ê²ì
ëë¤. íì¬ íì´ì§ê° ë¤ì íì´ì§ë³´ë¤ ë ì¤ìí기 ë문ì´ì£ . ë ìì¸í ë´ì©ì ë³´ë ¤ë©´ ë§í¬ í리íì¹ FAQ를 ì°¸ê³ íì¸ì.<link rel="prerender">
ë í¹ì í ì¹ íì´ì§ë¥¼ 백그ë¼ì´ëìì ë ëë§í´ ì¬ì©ìê° í´ë¹ íì´ì§ì ì ê·¼í ëì ë¡ë© ìë를 ëì
ëë¤. ì´ë ì¬ì©ìì ëìíì ëë¹í ê°ë¥ì±ì´ ì기 ë문ì, Chromeì prerender
를 NoState prefetchë¡ ëì ê°ì£¼í©ëë¤.<link rel="subresource">
ë¹íì¤ ì Chromeìì ìì ì preload
ì ê°ì 문ì 를 í´ê²°í기 ìí´ ì§ìëì§ë§, í ê°ì§ 문ì ê° ìììµëë¤. í목ì ëí ì°ì ìì를 ì§ì í ë°©ë²ì´ ìììµëë¤(ë¹ìë as
ê° ì¡´ì¬íì§ ìììµëë¤). ë°ë¼ì ì´ë¥¼ ì¬ì©í 리ìì¤ë ëì¼íê² ë®ì ì°ì ììë¡ ë¶ë¬ìì¡ìµëë¤.RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4