<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb" -->

---
title: 2 comes to Firebase Hosting | daily.dev
description: Firebase Hosting now supports HTTP/2 automatically for all *.firebaseapp.com traffic and newly-provisioned custom domains, offering multiplexed connections,...
canonical: https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: 2 comes to Firebase Hosting | daily.dev
og:description: Firebase Hosting now supports HTTP/2 automatically for all *.firebaseapp.com traffic and newly-provisioned custom domains, offering multiplexed connections,...
og:url: https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb
og:image: https://api.daily.dev/og/posts/S2hCoJnHB.png
og:image:alt: 2 comes to Firebase Hosting
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# 2 comes to Firebase Hosting

**[Firebase](https://daily.dev/sources/firebase-blog)** · 5 min read · 0 upvotes · 0 comments

## Summary

Firebase Hosting now supports HTTP/2 automatically for all *.firebaseapp.com traffic and newly-provisioned custom domains, offering multiplexed connections, header compression, and experimental server push via Link headers configured in firebase.json. Best practices are given for optimizing sites for HTTP/2, such as avoiding excessive resource concatenation and domain sharding. Existing custom domains set up before August 11, 2016 must update DNS records (CNAME to s-sni.firebaseapp.com or new A records) to migrate to SNI-based SSL and gain HTTP/2 support before Firebase completes the full transition by the end of 2016.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://firebase.blog/posts/2016/09/http2-comes-to-firebase-hosting>

## Questions this post answers

### Do I need to change anything in my code to use HTTP/2 on Firebase Hosting?

No, HTTP/2 is served automatically on Firebase Hosting whenever the user's browser supports it, with no code changes required. It was enabled for all *.firebaseapp.com traffic and newly-provisioned custom domains as part of the September 2016 rollout. Existing custom domains created before August 11, 2016 need a DNS update to switch to SNI-based SSL before they get HTTP/2.

_Track how hosting platforms roll out protocol upgrades like HTTP/2 by following backend infrastructure news on daily.dev._

### How do I set up HTTP/2 server push on Firebase Hosting using firebase.json?

Add a Link header entry under hosting.headers in firebase.json, specifying the source path and a Link header value listing resources with rel=preload and the appropriate as= type, such as script or style. For example, preloading /js/app.js and /css/app.css on the root path. Use the nopush directive for assets likely already cached to preload without pushing.

_Developers tuning asset loading strategies can compare server push configs like this one on daily.dev._

### How do I migrate my custom domain on Firebase Hosting to support HTTP/2 and SNI?

Update your DNS records: if using a CNAME, point it to s-sni.firebaseapp.com; if using A records, update them to 151.101.1.195 and 151.101.65.195. This is required only for custom domains set up before August 11, 2016, since Firebase was not automatically switching those domains until December 2016. You can verify migration by running dig on your firebaseapp.com subdomain and checking for s-sni.firebaseapp.com in the result.

_Anyone planning a DNS or SSL migration can find similar infrastructure change guides on daily.dev._

## Similar posts on daily.dev

- [HTTP/2 and HTTP/3: what changed and why it matters](https://daily.dev/posts/http-2-and-http-3-what-changed-and-why-it-matters-kxd7rny7x) · Flavio Copes · 1 upvotes · 0 comments
- [EP200: HTTP/2 over TCP vs HTTP/3 over QUIC](https://daily.dev/posts/ep200-http-2-over-tcp-vs-http-3-over-quic-o83jfjirb) · ByteByteGo · 10 upvotes · 0 comments

---

Tags: [#webdev](https://daily.dev/tags/webdev), [#firebase](https://daily.dev/tags/firebase)

[View this post on daily.dev](https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"2 comes to Firebase Hosting","url":"https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb"},"datePublished":"2026-08-23T12:21:20.698Z","dateModified":"2026-08-23T12:38:18.274Z","description":"Firebase Hosting now supports HTTP/2 automatically for all *.firebaseapp.com traffic and newly-provisioned custom domains, offering multiplexed connections,...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/7ed721de96163685d26ab7e314be3ebc?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"Firebase","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"Firebase","logo":"https://media.daily.dev/image/upload/s--i395oqZH--/f_auto,q_auto/v1787487448/logos/firebase-blog?_a=BAMAMicg0","url":"https://daily.dev/sources/firebase-blog"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"webdev,firebase","timeRequired":"PT5M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Firebase","item":"https://daily.dev/sources/firebase-blog"},{"@type":"ListItem","position":3,"name":"2 comes to Firebase Hosting"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/2-comes-to-firebase-hosting-s2hcojnhb#faq","mainEntity":[{"@type":"Question","name":"Do I need to change anything in my code to use HTTP/2 on Firebase Hosting?","acceptedAnswer":{"@type":"Answer","text":"No, HTTP/2 is served automatically on Firebase Hosting whenever the user's browser supports it, with no code changes required. It was enabled for all *.firebaseapp.com traffic and newly-provisioned custom domains as part of the September 2016 rollout. Existing custom domains created before August 11, 2016 need a DNS update to switch to SNI-based SSL before they get HTTP/2. Track how hosting platforms roll out protocol upgrades like HTTP/2 by following backend infrastructure news on daily.dev."}},{"@type":"Question","name":"How do I set up HTTP/2 server push on Firebase Hosting using firebase.json?","acceptedAnswer":{"@type":"Answer","text":"Add a Link header entry under hosting.headers in firebase.json, specifying the source path and a Link header value listing resources with rel=preload and the appropriate as= type, such as script or style. For example, preloading /js/app.js and /css/app.css on the root path. Use the nopush directive for assets likely already cached to preload without pushing. Developers tuning asset loading strategies can compare server push configs like this one on daily.dev."}},{"@type":"Question","name":"How do I migrate my custom domain on Firebase Hosting to support HTTP/2 and SNI?","acceptedAnswer":{"@type":"Answer","text":"Update your DNS records: if using a CNAME, point it to s-sni.firebaseapp.com; if using A records, update them to 151.101.1.195 and 151.101.65.195. This is required only for custom domains set up before August 11, 2016, since Firebase was not automatically switching those domains until December 2016. You can verify migration by running dig on your firebaseapp.com subdomain and checking for s-sni.firebaseapp.com in the result. Anyone planning a DNS or SSL migration can find similar infrastructure change guides on daily.dev."}}]}
```

