I am confused on how requests to websites are received. If I type in 18.104.22.168 to my browser, google.com sends me its home page. I didn't have to specify the port number. How does that work? I read that commands such as ping use ICMP, which does not use port numbers, so I thought maybe that's why. However, I also read that one of the first steps of sending data using HTTP is to establish a TCP connection, which requires a port number. How does the web server listen for requests sent to its IP without a specified port number?
Ports are still involved even if you don't explicitly give them. It is an inherent property of the TCP and UDP protocols that you need port numbers.
If you don't give an explicit port number in the URL the browser uses default port numbers: 80 for
ws://, 443 for
wss://, 21 for
In other cases there are fixed port numbers, i.e. the mail server is always at port 25 and the DNS MX record only returns the name but not the port. For other situations (like SIP) there are DNS SRV records which also provide information about the port to use etc.
How does the web server listen for requests sent to its IP without a specified port number?
It doesn't. For typical web servers like nginx or apache one still has to specify the port number to use in the servers configuration. Others might use default port numbers.
Ports number is mandatory while hosting application in IIS or any web server . Application coding is developed and services and enabled on any of the choosen port
Without port number. it is impossible to host àpplication in webserver . To access application this hosted ports has to be in listening mode . And at network level along the network path the specific port has to be in open stàte .