Откройте случайный номер порта для http-запроса, а не порта 80

542
NewPy

Я читаю книгу под названием: Изучить Python трудным путем. В ссылке ex51 написано:

соединение

«Как только браузер знает, какой протокол вы хотите использовать (http), с каким сервером вы хотите общаться ( http://test.com/ ) и какой ресурс на этом сервере получить, он должен установить соединение. Браузер просто просит вашу операционную систему (ОС) открыть «порт» для компьютера, обычно это порт 80 ».

Я думаю, что это должен быть случайный номер порта с локального ПК, верно? веб-сервис прослушивает порт 80, но наша операционная система, которую запрашивает браузер, является случайным номером порта, а не портом 80?

0

1 ответ на вопрос

1
davidgo

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

Благодарю. Если локальный порт также использует порт 80, не заблокирует ли он порт? Обычно я видел, что удаленный хост (сервер) использует порт 80, но локальный порт - это то, что назначено ОС, не так ли? NewPy 6 лет назад 0
Нет, поскольку соединение содержит исходный IP-адрес, исходный порт, IP-адрес назначения, порт назначения, поэтому, если IP-адрес назначения отличается от трафика, порт 80 не будет перенаправляться на ваш список серверов Cal. davidgo 6 лет назад 0
Благодарю. Тогда как насчет локального компьютера открыть два соединения через http к тому же удаленному серверу с разными URL? например, одно касание посещает text.com/index.html, а другое - посещение text.com/search.html? Предположим, что оба из этих двух местоположений находятся под тем же IP NewPy 6 лет назад 0
(Сохранение постоянных соединений и другие оптимизации) Исходный порт - это все, что изменяется на уровне TCP. davidgo 6 лет назад 0