Браузеры не прослушивают порт 80
, HTTP , серверы делают (хотя это просто соглашение, вы можете легко использовать FTP или telnet-сервер, используя порт 80
).
В TCP / IP «сессия» должна быть уникальной, а сессия определяется как 5-кортеж (protocol, sourceIP, sourcePort, destinationIP, destinationPort)
. Это позволяет правильно маршрутизировать пакеты в Интернете.
Обычно, когда клиент пытается связаться с сервером, он указывает 0
в качестве порта источника, что означает, что операционная система назначает ему неиспользуемый порт. Это означает, что клиент на самом деле будет прослушивать этот порт, а не порт 80
.
Таким образом, вы можете получить сеанс со свойствами (TCP, mybox.com, 1101, www.microsoft.com, 80)
, когда ваш браузер выходит на веб-страницы Microsoft.
Если вы обнаружите, что не можете привязать свой сервер к порту 80
, скорее всего, это произойдет, потому что у вас уже есть сервер, работающий на этом порту, или у вашей программы нет необходимых привилегий для привязки к этому порту (портов меньше чем 1024
обычно считаются привилегированными портами).
Запуск netstat -a
(в Linux или Windows) сообщит вам, связан ли сервер с портом 80
. Найдите прослушиватель для порта 80
(или http
, если он разрешает порты для имен служб), что-то вроде:
tcp 0 0 localhost:http *:* LISTEN