I'm not able to find an explanation or even related questions since I don't know exactly what is the problem and the correct keywords to use.
I'm a firmware guy and often I develop code that enables a WiFi (or Ethernet) connection on embedded devices (i.e. ESP32, ESP8266, RPi, etc...).
Each device has its own hostname, let's assume foo as an example for this question.
When connected it receives an IP from the DHCP.
If I ping it (from a Linux machine) I get:
$ ping foo
PING foo.fritz.box (192.168.2.72) 56(84) bytes of data.
64 bytes from foo.fritz.box (192.168.2.72): icmp_seq=1 ttl=255 time=52.6 ms
What is the .fritz.box suffix and why is it there? Does it have anything to do with domain or DNS?
EDIT
I found this question that explains what that suffix is. My other questions are still valid.
To open a web page on the device from a browser I cannot use foo (as for the ping request) but I have to enter the whole URL foo.fritz.box. Using a different router I noticed I have to enter a different URL, i.e. foo.local.
I'm confused about what I have to write in the user manual to teach the users how to reach the web pages. Does it really change for each type of router or is there a way (firmware side) to make it fixed? If it's not possible, how can a user (not a technician!) can figure it out in a simple way?