<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>https://web.dev/</id>
  <title>Sérgio Gomes on web.dev</title>
  <updated>2026-04-15T23:21:06Z</updated>
  <author>
    <name>Sérgio Gomes</name>
  </author>
  <link href="https://web.dev/authors/sgomes/feed.xml" rel="self"/>
  <link href="https://web.dev/"/>
  <icon>https://web-dev.imgix.net/image/admin/qexUlvBmj0edRQSlsdGL.jpg?auto=format</icon>
  <logo>https://web.dev/images/shared/rss-banner.png</logo>
  <subtitle>Our latest news, updates, and stories by Sérgio Gomes.</subtitle>
  
  
  <entry>
    <title>Prioritize resources</title>
    <link href="https://web.dev/prioritize-resources/"/>
    <updated>2018-08-17T00:00:00Z</updated>
    <id>https://web.dev/prioritize-resources/</id>
    <content type="html" mode="escaped">&lt;p&gt;Not every byte that is sent down the wire to the browser has the same degree of importance,
and the browser knows this.
Browsers have heuristics that attempt to make a best-guess at the most important resources to load first—such as CSS before scripts and images.&lt;/p&gt;
&lt;p&gt;That said, as with any heuristic, it doesn&#39;t always work out;
the browser might make the wrong decision,
usually because it doesn&#39;t have enough information at that time.
There are ways that you can influence this decision-making using
&lt;code&gt;&amp;lt;link rel=&amp;quot;preload&amp;quot;&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;link rel=&amp;quot;preconnect&amp;quot;&amp;gt;&lt;/code&gt;, and &lt;code&gt;&amp;lt;link rel=&amp;quot;prefetch&amp;quot;&amp;gt;&lt;/code&gt;.&lt;/p&gt;
&lt;h2 id=&quot;default-priorities-in-the-browser&quot;&gt;Default priorities in the browser &lt;a class=&quot;headline-link&quot; href=&quot;https://web.dev/prioritize-resources/#default-priorities-in-the-browser&quot;&gt;#&lt;/a&gt;&lt;/h2&gt;
&lt;p&gt;The browser assigns different relative priorities to different types of resources based on how critical they might be.
So, for example, a &lt;code&gt;&amp;lt;script&amp;gt;&lt;/code&gt; tag in your page&#39;s &lt;code&gt;&amp;lt;head&amp;gt;&lt;/code&gt; would be loaded in Chrome at a &lt;strong&gt;High&lt;/strong&gt; priority (below CSS, at &lt;strong&gt;Highest&lt;/strong&gt;),
but that priority would change to &lt;strong&gt;Low&lt;/strong&gt; if it has the &lt;code&gt;async&lt;/code&gt; attribute (meaning it can be loaded and run asynchronously).&lt;/p&gt;
&lt;p&gt;Priorities become important when investigating loading performance in your site.
Beyond the usual techniques of &lt;a href=&quot;https://web.dev/critical-rendering-path-measure-crp/&quot;&gt;measuring&lt;/a&gt;
and &lt;a href=&quot;https://web.dev/critical-rendering-path-analyzing-crp/&quot;&gt;analyzing the critical rendering path&lt;/a&gt;,
it&#39;s useful to know Chrome&#39;s priority for each resource.
You can find that in the &lt;strong&gt;Network&lt;/strong&gt; panel in Chrome DevTools.
Here&#39;s what it looks like:&lt;/p&gt;
&lt;figure&gt;
    &lt;img alt=&quot;An example of how priorities are displayed in Chrome Developer Tools&quot; decoding=&quot;async&quot; height=&quot;249&quot; loading=&quot;lazy&quot; sizes=&quot;(min-width: 800px) 800px, calc(100vw - 48px)&quot; src=&quot;https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&quot; srcset=&quot;https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=200 200w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=228 228w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=260 260w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=296 296w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=338 338w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=385 385w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=439 439w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=500 500w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=571 571w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=650 650w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=741 741w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=845 845w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=964 964w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=1098 1098w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=1252 1252w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=1428 1428w, https://web-dev.imgix.net/image/admin/oqcdfVAVj2RajVWfs6ap.png?auto=format&amp;w=1600 1600w&quot; width=&quot;800&quot; /&gt;
  &lt;figcaption&gt;
    The &lt;b&gt;Priority&lt;/b&gt; column, which is hidden by default (see
    &lt;a href=&quot;https://developer.chrome.com/docs/devtools/network/reference/#columns&quot;&gt;
      Add or remove columns
    &lt;/a&gt;.
  &lt;/figcaption&gt;
&lt;/figure&gt;
&lt;p&gt;These priorities give you an idea of how much relative importance the browser attributes to each resource.
And remember that subtle differences are enough for the browser to assign a different priority;
for example, an image that is part of the initial render is prioritized higher than an image that starts offscreen.
If you&#39;re curious about priorities, &lt;a href=&quot;https://medium.com/reloading/preload-prefetch-and-priorities-in-chrome-776165961bbf&quot; rel=&quot;noopener&quot;&gt;Preload, Prefetch And Priorities in Chrome&lt;/a&gt;
digs a lot deeper into the current state of priorities in Chrome.&lt;/p&gt;
&lt;p&gt;So what can you do if you find any resources that are marked with a different priority than the one you&#39;d want?&lt;/p&gt;
&lt;p&gt;There are three different declarative solutions,
which are all relatively new &lt;code&gt;&amp;lt;link&amp;gt;&lt;/code&gt; types.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://web.dev/preload-critical-assets/&quot;&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;preload&amp;quot;&amp;gt;&lt;/code&gt;&lt;/a&gt; informs the browser that a resource is needed as part of the current navigation,
and that it should start getting fetched as soon as possible.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.dev/preconnect-and-dns-prefetch/&quot;&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;preconnect&amp;quot;&amp;gt;&lt;/code&gt;&lt;/a&gt; informs the browser that your page intends to establish a connection to another origin,
and that you&#39;d like the process to start as soon as possible.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://web.dev/link-prefetch/&quot;&gt;&lt;code&gt;&amp;lt;link rel=&amp;quot;prefetch&amp;quot;&amp;gt;&lt;/code&gt;&lt;/a&gt; is somewhat different from &lt;code&gt;&amp;lt;link rel=&amp;quot;preload&amp;quot;&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;link rel=&amp;quot;preconnect&amp;quot;&amp;gt;&lt;/code&gt;,
in that it doesn&#39;t try to make something critical happen faster;
instead, it tries to make something non-critical happen earlier, if there&#39;s a chance.&lt;/li&gt;
&lt;/ul&gt;
</content>
    <author>
      <name>Sérgio Gomes</name>
    </author>
  </entry>
</feed>
