Часть path в протоколе HTTP не может быть пустой. Когда вы в браузере вводите только домен, он сам дописывает
/
.
Просто потому что реально запрос выгдядит так:
# ↓ вот это path и он не может быть пустым
GET / HTTP/1.1
Host: test.com
... прочие заголовки
И отвечая
mureevms, curl тоже допишет слеш. Вот
* Rebuilt URL to: http://ya.ru/
$ curl -v 'http://ya.ru'
* Rebuilt URL to: http://ya.ru/
* Trying 2a02:6b8::2:242...
* TCP_NODELAY set
* Connected to ya.ru (2a02:6b8::2:242) port 80 (#0)
> GET / HTTP/1.1
> Host: ya.ru
> User-Agent: curl/7.58.0
> Accept: */*