Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Shortest URLs on the Internet (jameswillia.ms)
489 points by jamespwilliams on Sept 11, 2022 | hide | past | favorite | 195 comments


http://ai is an interesting case. It was there from the early days of the web, back when you could type "ai" into the mozilla url bar and it would take you there. Today firefox "helps" you out and changes what you typed into something else because it knows better than you do what web site you want.

It's run by a character named Vince Cate who moved to Anguilla to protest taxes or something. He was from the US and gave up his US citizenship. He talked the Anguilla government into letting him set up its internet infrastructure for them.


> Today firefox "helps" you out and changes what you typed into something else because it knows better than you do what web site you want.

I genuinely want to know what you think is the percentage of FF users who type "ai" who intend to go to http://ai and not search for "ai" is. Even better if you can estimate that for all possible single words that are also TLDs. And then tell me why users who might actually want the domains can't just disable search from the address bar which is a feature FF has which is exactly tailored for this use case. And then also tell me what is wrong with having to explicitly specify "http://<whatever TLD>" which works even when the search-from-address feature is enabled.


The bigger question is what percentage of users would like a separate search / location field. Merging them created this problem but now that screens are bigger I think we can afford another textbox.


Good thing that's an option that is trivial to enable under Preferences -> Search -> Search Bar. I suspect most users who are technical enough to appreciate the significance of going to http://ai are able to figure that one out easily enough.


My cynical take is that the majority of people don't change default settings. So it is only a matter of time before the setting gets obsoleted because no one uses it.

And yes, I do have the two bars separated.

The address bar is for finding things locally that I know I have like bookmarks. The search bar is for finding things on the internet. It really bugs me that those two very different concepts get merged and conflated in modern browsers.


Being technical enough, I’d type http://ai and wouldn’t for a second have thought that some time in the past, someone working on Firefox thought “hey, we could offer a second text box for searching” even though the idea Makes Sense because so much that Makes Sense has been argued against by the leaders of various projects and I’m callused against trying to understand the motivation behind changes to things that already worked before they were removed or hidden…


trivial to enable but badly maintained. When I enabled that originally it broke the search bar on the default new tab page.

The default behavior is also nonsensical if you want to access anything on the local network by name.


I have been using the separate search bar for, idk, 10(?) years and I have never encountered a single bug with it (including the one you describe). Maybe you should give it another chance and chalk that up to an issue with the initial rollout, which is a standard thing to happen on virtually every software release.

> The default behavior is also nonsensical if you want to access anything on the local network by name.

Ok, and what percent of users do you think that affects? And what percent of those aren't technically savvy enough to enable the separate search bar? And what percent of those who aren't under a company managed policy that enables the separate search bar automatically? Let's make some reasonable estimates about those numbers and then reevaluate how "nonsensical" this core feature of Firefox is.


> Ok, and what percent of users do you think that affects?

And that right here is the same argument you can make for showing the hand full of remaining Firefox users a "this site requires a modern browser, download chrome here" message. After all the amount of users affected by that is a fucking rounding error.


That is not remotely the same argument. Designing efficient UX != ensuring open standards on the Web


> I think we can afford another textbox.

I say kill the concept of integrated search altogether. Search is a web page and should never be part of a web browser. Ever. It allows web browsers to sell that search bar default setting to the highest bidder. Or if your google, drive traffic to your advertising search engine using technologies that directly benefit its bottom line and nothing else.

Besides, searching sucks. Its all been SEO'd to death meaning finding information posted by real humans who are passionate about a subject are drowned in sea of mediocre (at best) blogspam. Of course this blogspam is funded by google adverts which only perpetuates this feedback loop of madness.


>It allows web browsers to sell that search bar default to the highest bidder.

Does Mozilla do that?


I assume yes since the default search is Yahoo when they could/should partner with DDG.


It's quietly one of favorite things on the internet that I can reach a hacker webpage by typing in "ai/security". That's, like, better than "ai.security" or similar because it completely does away with normal TLD conventions ("civil disobedience"!). It also happens to flip the namespacing around in a way that's kinda more human ("security in the context of AI"), which is meta in its own way given the context is about humans vs machines.

Very cyberpunk.

(And I checked; ai.security is parked. Very amusing.)


> A former U.S. citizen, he gave up his U.S. citizenship in 1998 in protest of U.S. laws on the export of cryptography.

Just to get this right. Makes him sound much more reasonable than protesting taxes.


You still can type "ai." (including the dot, excluding the quotation) in your browser. Works in firefox (tested in 104), however does not work in Chrome (tested in Chromium 105).


You need a slash for it to work in Chrome: "ai./" and "ai/" both work in Chrome (obviously without quotes.)


I need a slash in firefox too, dot also just searches


"http://ai." works in Chrome


well obviously, he meant without the protocol at the beginning


scheme*


Does not work in Edge.


Does anything?


Telemetry does.


pithily said!


Doesn't work on Chrome on Android


working here. latest chrome, android 12


i wish ppl would stop calling anything "latest"

it has a specific version. plz use it.


okay


Apparently my router's built-in DNS server doesn't like the domain name `ai.` or `ai`. Switching to Google's fixes the issue for me.


I bet he has a great big house, but guess what he doesn't have? Anything to do! Boring! That's what I'm paying the extra 1.5k a month for! Fun shit!

California forever and goodbye!!!


Anguilla is a tourist destination, there is obviously stuff people want to do...


Tourist destinations get old real quick though.


New York, Los Angeles, London, Tokyo, Paris, and many others are all tourist destinations and people seem to love to live there


At one point of time, `http://to` resolved to a "It works!" page [1]. I've always thought it would be cool to have a URL shortener with links such as `https://to/library` or something similar. Oh, how much fun running your own TLD would be...

[1] https://web.archive.org/web/20150319211308/http://to/


At Google and many other tech companies, internal machines are configured to have go/<whatever> work just like you describe. Looks like someone even made a whole company around it

https://www.golinks.com/blog/go-links-history/


A problem with this approach is browsers love to resolve it to http://go.com, so Disney may be getting a feed of what Googlers are interested in.


I can’t speak for anywhere else, but I’m pretty sure Google uses a Proxy Auto Config script for go links, which should prevent that from happening in most cases.

Disclosure: I work for Google.


Same for Target


I have found Chrome more willing to resolve go/foo as a web search. As a result, the Google autocomplete suggestions for terms like "go/m" are pretty amusing


Interestingly there are also several go/foo autocompletions on Duckduckgo :)


I mean, have fun? You're gonna get most stuff like go/thor-design or go/zanzibar. It's not as if go links are go/our-disney+-competitor.


I've never seen a configuration that would set a default subdomain search on .com., so I find this hard to believe. Can you show me a browser that resolves like this?


Somewhat related - Microsoft bought corp.com as back in the Windows 2000 days, "corp" was the default/example domain in AD - https://krebsonsecurity.com/2020/04/microsoft-buys-corp-com-...


They had this at Chase when I worked there. As I recall discoverability was a problem though.


Not just go, but lots of our internal stuff can be resolved that way. m/ c/ etc. you can get this for yourself by setting search domains.


I had worked at a bank as an IT professional and it works wonders, until the browser tries to be smart and attempts a Google search


Intel had that when I worked there


I was just there a few years ago, now it’s goto/ instead of go/. Maybe go/ still works, I never thought to check.


They still do; it's goto/ though


It was a link shortener for a while! I used to use it.

It appears to have been archived in Japanese, but: https://web.archive.org/web/20120103092225/http://to/


I wrote myself a Chrome extension that does this, using http://l/foo style links, and using Chrome's sync to share across devices. Works well enough but limited to desktops.

Some large orgs maintain internal shorteners, like http://go links at Google.


I recall seeing go link stickers around Google's Mountain View campus in the early 2010s! That was the first time I had seen something done like that, "overriding" an entire TLD zone (not that `.go` is in use, anyway) to serve custom content.

Do you happen to know how Google, or any other places, do this? I assume a custom DNS resolver being forced on clients through a network could do this, or maybe hosts files for each machine.


It's important to note that http://go/ and http://go./ are different things. The former means "consult my search path", the latter means "lookup the apex record of the go TLD". When you write "example.com", you really mean "example.com.", for example. Someone decided that browsers should save you a byte, and now every URL is ambiguous, causing all sorts of problems. (For example, if your search path is "corp.company.com" and you type "example.com" into your URL bar, you should be taken to "example.com.corp.company.com" before trying "example.com", but that turns out not to be what anyone wants, so you're pretty much screwed if you DO want that behavior. As always, the core of the Internet is duct tape and chewing gum.)

This often bites people when they wonder why they blow up their DNS servers with traffic from services that contact addresses like "foo.default". With a search path of "search default.svc.cluster.local svc.cluster.local cluster.local" in resolv.conf, the app is actually looking up foo.default, foo.default.default.svc.cluster.local, foo.default.cluster.local, and foo.default.svc.cluster.local, etc. every single time. Hard-code "foo.default.svc.cluster.local." in the app config, and you eliminate requests for the names that can't possibly exist, and save the load (and latency) of handling them.


You don't need to override a top-level domain. If you have the company DNS specify a search domain of the company owned website, you can just have the "go.<company-website>" available on the internal DNS. whenever someone enters go/whatever into a webbrowser, it will then resolve "go" into that internal "go.<whatever>" server.


Using DHCP to send a DNS search path can make this work across a lan, which is how it works in most work environments.

If you set your dns search path to example.com then http://go would resolve to go.example.com which could be your link shortner.


What's the name of your extension? I've been using https://www.trot.to/go-links for this and it's nice to know I could scale it out to my company if I wanted, but I'd prefer something that didn't depend on a service for my personal usage.


I bought the punycode domain {emoji_rabbit}.to (i.e. "hop to") intending to build a url shortner. But I never did anything with it and let it expire. And now it doesn't seem like .to even lets you buy emoji domains anymore. I kind of wish I had held on to it.


I can confirm that emoji domains for `.to` are still supported, I believe most of them are taken by now, though. You can use https://register.to to check.


Huh, looks like you're right. I distinctly remember getting an error for emoji domains but not normal ones. I might have made an incorrect assumption from that. Either way I've accepted I'm never getting that domain back.


Many years ago, there used to be http://www.tk/. They would let you register free domains (which I think technically were actually subdomains, but I'm really not sure). You could point these to anywhere online and it would maintain your [whatever].tk URL in the address bar. I remember hosting some pages on Geocities and using .tk to make it look "authentic" since it appeared to be self-hosted, which was 1337.

It seems that the service now redirects to a site called Freenom where you can still get .tk names, but they appear to be priced based on the length and whether or not the domain contains known words or phrases (though some free ones are apparently still available if you don't mind having a gibberish name)


> which I think technically were actually subdomains, but I'm really not sure

IIRC, anything that isn’t the TLD is a subdomain. It’s just that we typically think of a subdomain as starting at the third-level. So, for this site, news is the subdomain of ycombinator.com, but also, ycombinator is a subdomain of com.


> It seems that the service now redirects to a site called Freenom where you can still get .tk names, but they appear to be priced based on the length and whether or not the domain contains known words or phrases (though some free ones are apparently still available if you don't mind having a gibberish name)

I consider that virtuous, and smart. Short domains must cost more than long domains. They're more valuable. Words must cost more than gibberish. But there were domains available, right? Didn't have to bang out twenty minutes finding something you liked that wasn't taken?


Freenom used to give these out for free as well (along with everything else in the “High Value” section). I had some that I used to play with, but I haven't checked if I can keep renewing for free.


Ahh the good old .tk domain It could bypass URL filters on online games such as Runescape, giving scammers endless victims


I have run custom TLDs at home for many years. Not sure I would call it "fun" but it does put into perspective "ICANN" and the "domain name business".

People who discuss the internet publicly generally assume that a TLD implies renting out large numbers of domains to the public. IMO, that is only one potential use.


At a previous employer, we used an internal link shortener that went like http://go/whatever. Very user friendly.


Say Google without saying Google. These URLs sometimes leak into the public internet, and there's especially lots of them in AOSP and Chromium code.


Google is not the only company doing this, though ex-googlers may have spread it around initially.


Yep, `ping to` was so funny to type. `ping ai` works, just as terse and almoste as easy to remember, but a bit less funny to my mind.


unfortunately, it seems like ICANN rules prevent this for new gTLDs


> Some have A records pointing to the root servers. I’m not sure why this is - I think it might be because no DNS has been configured in the TLD zone for these TLDs.

I was also curious about this. It turns out that it's because dig interprets some TLDs as DNS record types (MD, MG, MR, MX) or DNS classes (IN and CH) of the same name! Not sure why, but when given only a type or class (without a domain name), dig actually queries for a list of the root servers, which explains the strange results. Looks like using the -q option to specify the domain name works around this.


Oh interesting, thanks! I fixed the script and ran the TLD list through again, in case this meant I missed some, but none of the affected TLDs have A records. I'll update my post to mention your comment.


There was a post recently about some of these TLDs: https://news.ycombinator.com/item?id=32094645


Or you could just make it a FQDN: `dig @8.8.8.8 MX.`


It’s interesting that Anguilla is the ai domain. I didn’t know that! It’s also a nice little island to take a trip to if you want to go somewhere that’s not too touristy. Beautiful beaches, and at least last time I was there, they didn’t allow cruise ships. So it ended up being a beautiful and quiet getaway. They do, however, drive on the left side of the road, but with North American cars, so it’s a little odd driving there at first!


Interesting. When I was in Myanmar/Burma some years ago, they drove on the right, but with mostly Japanese cars (made for driving on the left side). It seemed fairly dangerous.


...makes you think twice about pointless overtaking.


You can also use Unicode ligatures to make URls which look shorter.

From that list, you could use http:// ㎝. / - that's U+339D if HN mangles it.

I wrote it up at https://shkspr.mobi/blog/2020/08/buying-a-single-character-d...


Unicode URLs are scary


I thought this was super sketch:

Shorten URLs using invisible spaces

https://github.com/zws-im/zws


Bloody hell, that's genuinely scary. No notice about it in my browser at all, I feel like there should be.


Ah funny, firefox display it as a link, refuse to open said link, have a context menu to copy the link, but not open it.


Interesting. You can also have emojis in URLS apparently. (rolled up newspaper emoji).fm, for example.


Close second: http://1.1


Why does 1.1 resolve to 1.0.0.1? I don't recall this being in any of the documents about CIDRs. Are browsers implicitly mapping IPv4 addresses temporarily into IPv6 addresses during parsing, such that "1.1" becomes "1::1", and then gets IPv6 abbreviated-form expansion applied to it?


https://en.m.wikipedia.org/wiki/IPv4#Addressing

> IPv4 addresses may be represented in any notation expressing a 32-bit integer value.

I remember reading a man page that explained this really succinctly but I cannot remember which one it was. A tool like ping I believe.


> When fewer than four numbers are specified in the address in dotted notation, the last value is treated as an integer of as many bytes as are required to fill out the address to four octets. Thus, the address 127.65530 is equivalent to 127.0.255.250

Wow, it actually works: http://127.65530

TIL


This was a thing in late 90s spam.



Bingo!


There's some weird legacy parsing for IPv4 addresses with less than four components. 1.2.3.4 can be represented equivalently as 1.2.772, 1.131844, or 16909060. (Note that 772 = 0x0304, 131844 = 0x020304, and 16909060 = 0x01020304.)

TL;DR: the second "1" in "1.1" is treated as a 24-bit integer.

Longer explanation: https://blog.dave.tf/post/ip-addr-parsing/


Aha. I had thought I recalled the two-dot case being 16+16, rather than 8+24.


It was for compatibility with classful networks. If you have a class A (/8) network, you could (in principle) treat it as a single network and number all the machines on it sequentially from 12.1 to 12.16777215.

Of course, nobody actually does that anymore. But the parser behavior is still out there because there's the possibility that someone is still using it...


I'm also curious. Especially since curl 7.64.1 (Release-Date: 2019-03-27, on macOS) says:

  % curl 'http://1.1/'
  error code: 1003
while curl 7.85.0 (Release-Date: 2022-08-31, on FreeBSD) says:

  % curl 'http://1.1/'
  <html>
  <head><title>301 Moved Permanently</title></head>
  <body>
  <center><h1>301 Moved Permanently</h1></center>
  <hr><center>cloudflare</center>
  </body>
  </html>


Yeah, that was a bug in curl till 7.77.

If you want to full details, see [0]

[0] https://daniel.haxx.se/blog/2021/04/19/curl-those-funny-ipv4...


That's the answer I was hoping for. Thanks!


Interesting. If you use curl -v, you can see that the difference is that the newer version of curl canonicalizes(?) the Host: header to "1.0.0.1", which the server recognizes and responds to with a redirect. The older version sends "1.1" as the Host: header, which the server doesn't recognize, so you get a "403 Forbidden" response with the cryptic "error code: 1003" in the body.

I get the same behavior from other nonstandard ways of specifying 1.0.0.1, like "curl http://01.00.00.01/"


That is because their http:// site redirects to https://


Sure, but why do the two different versions of curl give different results? With 7.64.1:

  % curl --dump-header /dev/tty 'http://1.1/'
  HTTP/1.1 403 Forbidden
  Date: Sun, 11 Sep 2022 19:01:53 GMT
  Content-Type: text/plain; charset=UTF-8
  Content-Length: 16
  Connection: close
  X-Frame-Options: SAMEORIGIN
  Referrer-Policy: same-origin
  Cache-Control: private, max-age=0, no-store, no-cache, must-revalidate, post-check=0, pre-check=0
  Expires: Thu, 01 Jan 1970 00:00:01 GMT
  Server: cloudflare
  CF-RAY: 7492a7924b2bd895-CPH

  error code: 1003
(Note that curl 'https://1.0.0.1/' works just fine, so it's not like curl is blocked by the server on general principle.)

With 7.85.0:

  % curl --dump-header /dev/tty 'http://1.1/'
  HTTP/1.1 301 Moved Permanently
  Server: cloudflare
  Date: Sun, 11 Sep 2022 19:03:09 GMT
  Content-Type: text/html
  Content-Length: 167
  Connection: keep-alive
  Location: https://1.0.0.1/
  CF-RAY: 7492a96a181df18a-PIT

  <html>
  <head><title>301 Moved Permanently</title></head>
  <body>
  <center><h1>301 Moved Permanently</h1></center>
  <hr><center>cloudflare</center>
  </body>
  </html>


Curl wasn’t able to normalise ip adresses till this commit [0]

[0] https://github.com/curl/curl/commit/56a037cc0ad1b2a770d0c08d...


Indeed - so while it's hitting Cloudflare, the 1.1.1.1 IPs are all technically vhosts for `cloudflare-dns.com`, so a good `host` header in the request is required to reach it.

For this reason, you could use a CNAME setup[0] and instead of using CNAMEs for proxied subdomains, you input 1.1.1.1 A records in your authoritative dns, and everything on Cloudflare's side will still see your hostname in the host header / SNI, and your website will load.

0: https://developers.cloudflare.com/dns/zone-setups/partial-se...


I suspect it gets mapped to 1.0.0.1 because no other resolution is possible. Any other locations for the two zeros results in an invalid IP (either starting or ending in 0).


Absolutely nothing wrong with ending with a .0.

I suspect you are confused by n.n.n.0/24 being a network address in a /24 network which is obviously very common. However there are way more networks of other sizes that have .0 addresses in them.


We're also arguing that it ought to become usable even in a /24: https://datatracker.ietf.org/doc/draft-schoen-intarea-unicas...

It only requires changes within the LAN to accomplish this, since distant hosts are already not supposed to assume anything about how networks are or are not subnetted. (For instance, they don't know whether you're on a /24 or not.)

You can find some addresses ending a lot of zeroes that already work within

http://ec2-reachability.amazonaws.com/


I still don't understand why, instead of doing something like this, not just switch to IPv6.


If you're operating a public site and you switch to IPv6-only, you'll no longer be reachable by the majority of the current Internet. That's a pretty big sacrifice for most people.

If you're operating a public site and you don't switch to IPv6-only, for example by doing dual-stack, you'll still need IPv4 addresses.

The challenge is that "just switch to IPv6" isn't something that you can do unilaterally if you need to talk to the rest of the Internet.


I once had my ISP (BHN) assign me a public IP that ended in .0 That turned out to be a neat experiment. I regularly hit webpages and other services that would deny my connection. I guess they considered me multicast traffic or some sort of bogon.


Huh, and today I learned something new. Thanks!



Cool to know, i guess.

TIL that dotless record on newer gTLDs is forbidden, which explains my age-old question: "if google holds google., why are they only using it on domains.google? Surely having the url https://google would be desirable for the folks in marketing?". The answer is that they can't possibly because the ban was added precisely because of this.


It's not really the same, but Microsoft has https://www.microsoft/ as a redirect to their .com, which causes some weird side effects in Chrome's omnibox, because it automatically adds the www subdomain: https://imgur.com/a/2cVxnYf


Google actually serves a bunch of pages through their TLD:

https://en.wikipedia.org/wiki/.google



This works with DuckDuckGo as well: https://news.ycombinator.com/item?id=32473643

You can combine the exclusion `-` syntax with this as well. If you want to find different sites on the TLD `.test` but only URLs on `home.test` are being shown, you can use this search:

site:test -site:home.test


I think it’s obvious that they use their TLD, just not via a root A record, so resources aren’t loaded via https://google/some.js


Check out the URL Shortener T.LY. It's one of the shortest domain that allows you to create short links that I know of.

>> https://t.ly/


Tough competitor! I think dro.pm wins by one character because the URIs are shorter, at least on days where I didn't post it to HN. And that can be used for pastes and file hosting directly. The caveat being that it expires; it's meant as something you can write on a whiteboard on a conference or pass over the phone easily without needing to send a random URL to someone via chat, sms, or email or something.


That one is cool. Another similar one:

> >>https://s.id/


It would be great if someone with an ultra-short URL could run one of the "what's my IP address" sites on it, like:

ifconfig.co

ifconfig.pm

ifconfig.show

ipaddr.in

ipconfig.io

They return plain-text IP address to curl/wget, while serving up a more detailed web page to other web browsers.


There's https://ip.me/, it supports curl like you describe!


I like to use eth0.me for this purpose. Short and memorable.


canhazip.com


Any FTP urls? I'm sure there are protocols with shorter schemes, but FTP is still semi-supported.


No longer supported by Firefox, Edge or Chrome https://www.zdnet.com/article/now-firefox-has-dropped-suppor...


Honestly, never expect browsers to support them to begin with anyway.

Any semi-serious FTP users use dedicated clients.


Still works on IE! Why my Windows 10 installation has an unsupported copy of IE is another question.


I used to have an email address with a three-letter username @eh.net, which was actually surprisingly annoying to use. If you ever gave the address to someone they'd be very confused at how short it is.


From my experience if you give people any email address with a custom domain people will usually be confused and ask you to repeat even if it's very clear and easy to remember. Last time i gave my mail which is something like :myname@LLL.fr i was asked : are you sure ?


I had to deal with an accountant to get advice on how to file taxes after the sale of a private company.

They needed information from a third party. I gave the accountant the third party's email address, firstname@lastname.co.

The transaction was taking a while to get resolved. After repeated followups, the accountant finally told me that he was having a hard time getting a hold of the third party. Was I sure that their address was firstname@lastname.com?

Like... what the heck. We're all corresponding over email. You could have literally clicked the email address in the email that I sent you. But instead, somehow you've mangled it and are confused that it doesn't work?

That was instructive for me. .com TLDs only going forward!


I hear ya! I've had my own last name .CC for well over a decade...and i still get the occasional "Did you mean .COM?" ....so nowadays i premptively state my email is: xyz@whatever.CC (that's .CC and NOT .COM)....and people get it nowadays more than in the past, though its funny that its only my fellow Americans who are not used to TLDs which are not .com, .net, .org. ;-)


I usually get: "@gmail.com?"

"No, no. Not everyone has to use Gmail!"


My favorite is when someone is trying to ask you for your email address but asks it as "What's your Gmail?"


I never had problems with [initials]@[short university name].edu, but my current email address, of the form n@nnn.nn, causes all sorts of problems with filters. My newest favorite bug was Adobe's password rules which demanded that the part of my email address before the @ not appear in the password.


Shortest address is http://1 Not on the internet, though. Just on the network.

Kinda surprised Linux routes 0.0.0.1 to my router, when used as a destination address. Might be fun to use it as a local redirector whitout having to do any DNS shenanigans.

Edit: yep, it works


That's new in 2019 (0/8 was prohibited), and there is a story... https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/lin...


Amazing! Thanks for digging that out. :)


Shorter: ftp://1

Anyone knows a shorter protocol name that is widely supported/known?


I think on Windows machines you can use `\\` to access a machine via SMB, so `\\1` would be the shortest if you're happy with Windows-only.


//1 turns into file:///1 everywhere AFAIK


But "//1" is not a full URL, and any URL with "file:" is not "on the Internet".


//1 is a full (relative) url


ws://1


Sounds like a winner to me! The Windows share path isn't a URL per the spec and this would be, afaik.


Both Chrome and Firefox have actually recently removed support for ftp:// for security reasons.


It may be, but that does not disqualify it being "shortest URLs on the internet", I think. However, maybe it should not count if there is not a FTP server at that address, though.


http://dk used to work at one point in time, IIRC. (It was some nic.dk thing, I think.)


Interestingly, in my lan:

dig ai @ googledns works

dig ai @ unbound works (DoT cloudflare behind)

dig ai @ dnsmasq NXDOMAIN (openwrt, forwards to unbound)

Thus something's up with openwrt (22.03.0 release) dnsmasq, or dnsmasq in general.


See:

https://news.ycombinator.com/item?id=32804868

There's a dnsmasq setting you have to twiddle to make it work.


I was able to test it. It is this setting indeed.

The default is probably due to some concern about leaking misspelled split-horizon local names.


Probably. I'm sure there are actually good reasons for keeping that setting turned off. But it's annoying when you want to look at an edge case like this. :-)

I'm debating if I'll keep it set so that this works, or put it back the way it was.


Thank you for the pointer. I'll look into that at the next chance.


This explains why many home users can't connect - a lot of home broadband routers use dnsmasq internally.


Try "ai."


Same result @ dnsmasq.


Just to check: Could it be that pihole (dnsmasq) has an issue with these dotless domains?

I'm getting a NXDOMAIN for `dig ai.`, but when directly doing with an upstream server (i.e. 8.8.8.8 or 1.1.1.1) it perfectly works.

I assume this is the result of the `Never forward non-FQDN A and AAAA queries` setting being checked in pi-hole (which is AFAIK the default).


Quick question: my systemd-resolved doesn't want to resolve `ai.` (`dig ai.` results in a SERVFAIL, but doing `dig ai. @8.8.8.8` works fine). Anyone have this problem? I already checked upstream resolvers and they work with the bare TLD, any hints to how I can get systemd-resolved to resolve this?


Although it's nowhere near as short as ai , I like bl.uk


Bluk? Bluk! They're not even trying!

How about: y.uk


yu.ck would be better, although not that short


http://ai. resolves for me, but http://ai doesn't. Is http://ai invalid or is that just my DNS?


Both resolve for me on my Android phone but neither on my Linux desktops, unless I specify a DNS resolver. Curious!


I love hacker news for this type of insightfully researched light-hearted tech trivia.


All the domains have an invalid TLS certificate. Now, it would be very interesting to see the process for actually obtaining a valid certificate for one of these. Anyone know if there are reasons one could not be obtained?


I think these weren't meant to run on the apex domains, so nobody even bothered getting a certificate. Would be interesting to try and get one, I agree.


I love short URLs! I found quite a lot are available for .cx (which is the Christmas Islands), so I got https://fh.cx for myself a couple of years ago.


I like them too. I used to own wu.gl but couldn't justify the 50$/year just for fun


> I imagine most browsers etc. would consider a URL with an empty hostname invalid – Chrome considers both http:// and http://. invalid, at least.

An empty hostname is invalid according to RFC 7230:

A sender MUST NOT generate an "http" URI with an empty host identifier. A recipient that processes such a URI reference MUST reject it as invalid.

This requirement also carries over to HTTPS.


None of these links work (Firefox 104 on Linux).


they do for me on FF 104 on mac.


Could shave off a character by using ftp:// instead of http:// though I suppose modern browsers have removed FTP support recently. Are there any protocols that are known by even shorter abbreviations?


git:// comes to mind, but that's not understood by browsers.

irc:// is understood by Firefox at least.


Ha ego bump, I like to think I inspired this submission?

https://news.ycombinator.com/item?id=32801317

17:07:12 vs 17:10:57

great minds, yada yada ;-)


I think I used to own your domain name. Happy to see it put to good use.


aka.ms is short but probably not thr shortest, but I would say it is the shortest most popular url possibly. For those who don't know, that is MS's link shortner for official URLs


It's also used quite extensively internally for company wide resources. Any employee can create aka.ms urls, here is one for your comment: https://aka.ms/AAhztyq


What a flex. Can you also specify a custom link?

Like aka.ms/mango or aka.ms/inglor?


I can, there are a bunch of them - e.g. aka.ms/undertale - take any word after aka.ms and chances are someone used it ^^


That's very cool!


g.co and t.co used by Google and Twitter are shorter.


Can't believe I forgot t.co!


TLDR It's http://ai (or http://ai./) and a few other 2-letter TLDs. Doesn't seem to work on my Android phone but works from another machine.


Works on pixel 6 pro and pixel 4a


Works on pixel6


I see, it must be a problem with my DNS provider then not my device.


Also doesn’t work on my iPhone.


Works on iOS, but the final dot (after the ai) MUST be there. So it must be exactly: “ http://ai. ”

EDIT: It will also depend on your DNS server apparently. I use Cloudflare’s.


My website builder is at https://n.nu - also short.


omg i always wanted to know that, everyone i had asked in the past either shrugged or said it was impossible


You don't need the http:// for pn. (At least in firefox on my laptop) pn./ suffices.


We’re talking about the URLs, not what you can type in the address bar to access them.


pn was the only one that worked on my iPhone. Pretty cool, I am surprised its not used for anything major


Amazing, instead of "ping 1.1" I can now use "ping ai" and save one character. What a great world we live in.


It's a shame it doesn't respond very quickly (at least for me, in the UK). (1.1 is pretty fast everywhere)





Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: