I was using .local, but it ran into too many conflicts with an mDNS service I host and vice versa. I switched to .lan, but I'm certainly not going to switch to .internal unless another conflict surfaces.
I've also developed a host-monitoring solution that uses mDNS, so I'm not about to break my own software. 😅
It's also second only to .com in terms of query volume in ICANN's Magnitude statistics with 980 mil vs .internal's 60 mil. Not sure if that makes it a de facto standard, but it's close.
I've also used .local but .local could imply a local neighborhood. The word itself is based on "location". Maybe a campus could be .local but the smaller networks would be .internal
Or, maybe they want to not confuse it with link-local or unique local addresses. Though, maybe all .internal networks should be using local (private) addresses?
If you mean properly signed certificates (as opposed to self-signed) you'll need a domain name, and you'll need your LAN DNS server to resolve a made-up subdomain like lan.domain.com. With that you can get a wildcard Let's Encrypt certificate for *.lan.domain.com and all your https://whatever.lan.domain.com URLs will work normally in any browser (for as long as you're on the LAN).
Right, main point of my comment is that .internal is harder to use that it immediately sounds. I don't even know how to install a new CA root into Android Firefox. Maybe there is a way to do it, but it is pretty limited compared to the desktop version.
This change gives you the guarantee that .internal domains will never be registered officially, so you can use them without the risk of your stuff breaking should ICANN ever decide to make whatever TLD you're using an official TLD.
That scenario has happened in the past, for example for users of FR!TZBox routers which use fritz.box. .box became available for purchase and someone bought fritz.box, which broke browser UIs. This could've even been used maliciously, but thankfully it wasn't.
Either ignore like I do or add a self signed cert to trusted root and use that for your services. Will work fine unless you're letting external folks access your self hosted stuff.
Quite literally my first thought. Great, but I can't issue certs against that.
One of the major reasons I have a domain name is so that I can issue certs that just work against any and all devices. For resources on my network. Home or work, some thing.
To folks recommending a private CA, that's a quick way to some serious frustration. For some arguably good reasons. On some devices I could easily add a CA to, others are annoying or downright bullshit, and yet others are pretty much impossible. Then that last set that's the most persnickety, guests, where it'd be downright rude!
Being able to issue public certs is easily is great! I don't use .local much because if it's worth naming, it's worth securing.
I found options like .local and now .internal way too long for my private stuff. So I managed to get a two-letter domain from some obscure TLD and with Cloudflare as DNS I can use Caddy to get Let's Encrypt certs for hosts that resolve to 10.0.0.0/8 IPs. Caddy has plugins for other DNS providers, if you don't want to go with Cloudflare.
Maybe browsers could be configured to automatically accept the first certificate they see for a given .internal domain, and then raise a warning if it ever changes, probably with a special banner to teach the user what an .internal name means the first time they see one
The main reason this will never happen is that the browser vendors make massive revenue and profit margins off of The Cloud and would really prefer that the core concept of a LAN just dies so you pay your rent to them.
Certain domain names are locally routed only. So if you use internal or local as a tld, you can just assign whatever names you want and your computer won't go looking out on the internet for them. This means you and I can both have fileserver.local as an address on our respective network without conflicting. It's the URI equivalent of 192.168.0.0/16.
We use .lh, short for localhost. For local network services I use service discovery and .local. And for internal stuff we just use a subdomain of our domain.