Если я хочу подключиться, чтобы сказать, IP 100.100.100.100, порт 80, мой компьютер отправит пакет tcp с этим адресом в провод.
Теперь, если я использую прокси-сервер, скажем, 200.200.200.200 Порт 8080 (такой тип прокси, который вы можете настроить в Internet Explorer), как этот процесс изменяется?
Если я все еще хочу подключиться к тому же IP-адресу, будет ли в заголовке IP-адреса указан IP-адрес назначения или IP-адрес прокси-сервера или оба этих параметра?
Я уже погуглил, есть сотни страниц, которые рассказывают, как настроить прокси, но ни одна не объясняет, как это работает под капотом.
источник
HTTP - протокол уровня 7, так что не запутайтесь. когда вы используете прокси-сервер HTTP и вводите google.com, заголовок HTTP остается тем же google.com, но конечным IP-адресом будет IP-адрес прокси-сервера, а источником будет IP-адрес хоста для настроенного номера порта 8080.
источник
Чтобы использовать HTTP-прокси, запрос отправляется от клиента на IP-адрес прокси-сервера, а не на конечный сервер. Затем прокси должен прочитать HTTP-заголовок, чтобы извлечь запрос-URI . URI запроса включает в себя имя или IP-адрес конечного сервера, и прокси-сервер использует эту информацию для пересылки запроса.
Спецификация HTTP позволяет строке запроса исключать имя и порт сервера, когда прокси-сервер не используется (так как в этом нет необходимости, если запрос был отправлен непосредственно на этот сервер). Но согласно спецификации ...
Поэтому, когда прокси не используется, строка запроса может выглядеть следующим образом:
но чтобы использовать прокси, строка должна содержать имя сервера (и порт, если не 80):
Сторона ответа, если операция может быть более простой, поскольку прокси-сервер может просто ретранслировать дословный ответ через предварительно установленный сокет запроса.
источник
Host
заголовок для завершения частичного URI, если в строке запроса не указан абсолютный URI.Там нет такого понятия, как "пакет TCP". TCP работает с потоками данных. Есть IP-пакеты.
Кажется, вам не хватает базовых знаний о работе с сетями, я предлагаю вам получить хорошую книгу о TCP / IP. Всеми любимым кажется «проиллюстрированный TCP / IP» У. Ричарда Стивенса.
Вернемся к вашему вопросу.
Прокси посредник:
[вы] - [прокси] - [сервер, к которому вы хотите подключиться]
Теперь есть два разных соединения:
[вы] - (ваше соединение с прокси) - [прокси] - (соединение прокси с сервером) - [сервер, к которому вы хотите подключиться]
Когда вы думаете, что подключаетесь к серверу через прокси-сервер, вы фактически подключаетесь к прокси-серверу и говорите, что хотите подключиться к определенному серверу. Затем прокси-сервер открывает второе соединение от себя с этим сервером и действует как посредник, передавая данные в обоих направлениях.
источник