Как два браузера одновременно прослушивают порт 80?

var btn = document.createElement('button');
btn.innerHTML = "Create Table";
document.body.appendChild(btn);
btn.addEventListener("click", createTable, true);
function createTable(){
var div = document.createElement('div');
div.setAttribute("id", "tbl");
document.body.appendChild(div)
	document.getElementById("tbl").innerHTML = "<table border = '1'>" +
  '<tr>' +
    '<th>Heading</th>' +
    '<th>Heading</th> ' +
    '<th>Heading</th>' +
  '</tr>' +
  '<tr>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
  '</tr>' +
  '<tr>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
  '</tr>' +
  '<tr>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
    '<td>cell</td>' +
  '</tr>'
};

13
задан Xinus 21 December 2009 в 11:56
поделиться

7 ответов

Браузеры не прослушивают порт 80 , HTTP серверы слушают (хотя это всего лишь соглашение, вы можете легко получить FTP- или telnet-сервер, использующий порт 80 ).

В TCP / IP «сеанс» должен быть уникальным, и сеанс определяется как 5-кортеж (протокол, исходный IP, исходный порт, целевой IP, целевой порт) . Это позволяет правильно маршрутизировать пакеты в Интернете.

Обычно, когда клиент пытается связаться с сервером, он указывает 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
20
ответ дан 1 December 2019 в 17:27
поделиться

Они не слушают порт 80, они разговаривают с портом 80 или с портом 443, если вы используете SSL (или на любом другом порту, если администратор нарушил соглашение, вы могли видеть URL-адреса например http://www.site.com:8080 , где сайт был настроен на порт 8080).

Браузер сделает запрос из случайного порта с большим номером, то есть больше, чем браузер могут быть активны в одно и то же время.

Как говорит paxdiablo, вы можете использовать netstat, чтобы увидеть, какие программы прослушивают соединения (использование "netstat -a -b" покажет, какой исполняемый файл привязан к какому порту)

19
ответ дан 1 December 2019 в 17:27
поделиться

Браузеры фактически не прослушивают порт 80. Веб-серверы делают это, и браузер открывает соединение с портом между 49152 и 65535, я думаю (динамические порты).

8
ответ дан 1 December 2019 в 17:27
поделиться

В сетевом соединении есть один партнер (обычно называемый клиентом), который подключается к другому (обычно называемому сервером). Говорят, что сервер прослушивает определенный порт, в то время как клиент, как говорят, подключается к этому порту.

В этом случае веб-сервер прослушивает порт 80, в то время как все клиенты (браузеры) подключаются к нему.

4
ответ дан 1 December 2019 в 17:27
поделиться

Когда браузер устанавливает соединение с сервером, он привязывается к локальному непривилегированному порту, но подключается к порту 80 веб-сервера. Когда сервер отправляет ответ, он переходит на непривилегированный порт на компьютере браузера. Если на одном компьютере установлено два браузера, они привязываются к разным портам.

2
ответ дан 1 December 2019 в 17:27
поделиться

Если вы имеете в виду «как два сервера могут прослушивать порт 80», рассмотрите возможность использования API HTTP-сервера. Оба сервера могут зарегистрировать функцию обратного вызова вместе с URL-адресом. Затем клиент может решить, к какому серверу обращаться, на основе URL-адреса, например,

http: // localhost / Service1 перейдет к службе, которая указала " http: // localhost / Service1 "как его URL.

0
ответ дан 1 December 2019 в 17:27
поделиться

Браузеры вообще не привязаны к порту 80. Вы, вероятно, обнаружите, что используете IIS или другой веб-сервер, который привязан к , и это является причиной ваших проблем

3
ответ дан 1 December 2019 в 17:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: