Подтвердить что ты не робот

Используют ли веб-браузер разные номера портов для открытых вкладок?

Мне интересно, как работают внутренние браузеры. Теперь подключение к различным веб-сайтам с помощью "вкладок" в одном браузере можно обрабатывать одним из двух способов: 1 - Использование потоков 2 - Использование разных номеров исходного порта для каждой открытой вкладки

Я знаю, что для этого вопроса может быть не один ответ, и он может отличаться от одного браузера к другому, но все ответы оценены.

Спасибо


Спасибо всем. Я очень ценю это. Мой вопрос относится к исходному порту на стороне клиента. Я спрашиваю, использует ли браузер разные исходные порты для каждой открываемой вкладки или один и тот же исходный порт для всего процесса "Я имею в виду окно, которое включает в себя разные вкладки" или один и тот же исходный порт для всех окон?

Или, как веб-браузеры используют потоки?

4b9b3361

Ответ 1

Потоки и порты представляют собой отдельные и в основном не связанные понятия.

Потоки - это то, что локальный компьютерный процессор выполняет для обработки вычислений, таких как рисование на экране или ожидание интернет-трафика. Вероятно, для этих операций на каждой вкладке есть отдельный поток (и более).

Порты - это то, что сам трафик идентифицируется (в TCP и UDP). Чтобы сообщить браузеру, вы откроете локальный порт (обычно что-то вроде ~ 5000, и это не имеет значения до тех пор, пока оно уникально) и подключитесь к серверу, обычно к порту 80 (тот, который прослушивает сервер). Если ваш компьютер не знал удаленный порт, он не мог подключиться, но его стандарт для использования 80 для HTTP, например.

Браузеры открывают вкладки в отдельных потоках (и новые, даже в отдельных процессах по соображениям безопасности и надежности) и используют отдельные порты на стороне клиента. Так что да, ответ - это как потоки, так и порты. Они всегда используют один и тот же удаленный порт, если вы физически не укажете иное (например, подключение к веб-сайту с использованием https://вместо http://использует отдельный порт, потому что именно так был создан этот протокол). Вы можете указать порт для использования в современных браузерах с: # после имени. (пример: http://www.google.com:81/, однако это провалится, потому что это не тот порт, который они прослушивают!)

Ответ 2

Быстрая проверка с использованием netstat (или sockstat на машинах BSD) показывает, что разные номера портов источника используются для разных соединений. В этом отношении вы правы.

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

Ответ 3

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

Ответ 4

Вы имеете в виду TCP-порты? Нет. Браузеры используют один и тот же порт, обычно 80 или 443 (для HTTPS).

HTTP - это протокол без учета состояния: браузер открывает соединение, загружает страницу и закрывает ее. Он не поддерживает соединение. Если вы загружаете более 1 страницы, то она создает потоки для каждого (как правило, Chrome создает процессы), но как только страница загружается, соединение закрывается.

AJAX открывает новое соединение для каждого запроса и закрывает его впоследствии.

Есть некоторые хаки, которые имеют постоянное HTTP-соединение (см. COMET), но поскольку браузер выполняет несколько потоков/процессов, они обычно не конфликтуют.

Ответ 5

нет! он обычно использует порт 80 по умолчанию, если не указано. например, www.someweb.com:8080.

Вкладки в браузере, которые я предполагаю, запускаются в разных потоках