I found this question when I tried to search site:typescriptlang.org @ts-ignore
at Chrome, and then got the result of This page isn't working, ts-ignore is currently unable to handle this request
and I saw the URL became "http://site:typescriptlang.org%20@ts-ignore/". I felt so refused, then searched @ symbol's function at an URL
and then I found my answer on Wikipedia.
The full format of the URL is scheme://userInfo@host:port/path?query#fragment
. so when we search site:typescriptlang.org @ts-ignore
, the browser will think you want to visit "http://site:typescriptlang.org%20@ts-ignore/". In this URL, http
is a scheme, site:typescriptlang.org%20
is a userInfo ("%20" is escaped by a space character), "ts-ignore/" is a host. Of course, we can't visit the host named "ts-ignore" without a domain.
So, @
symbol can be a separator between userInfo
and host
.