Вы, вероятно, никогда не использовали сеть, которая требует настройки прокси-сервера HTTP. Большинство сетей в наши дни настраивают свой брандмауэр, чтобы разрешить трафик HTTP c. Это означает, что в наши дни большинству людей никогда не приходилось использовать HTTP-прокси для доступа в Интернет.
Долгое время go, когда я впервые начал использовать inte rnet (около 1994 г.). сетей не разрешают прозрачный доступ inte rnet. Ваш P C не имеет никакого отношения к внешнему миру . Но системные администраторы установят HTTP-прокси, к которому вы можете подключиться. Ваш P C будет иметь доступ только к локальной сети (частью которой является прокси), а только HTTP-прокси будет иметь доступ к inte rnet.
Вот пример того, как вы настроите Windows для использования HTTP-прокси:
Если вы настроите свой P C, как указано выше, то когда вы подключаетесь к www.google.com
, ваш браузер будет подключаться к хосту proxy.example.com
через порт 8080
, а затем запрашивать его для получения данных с www.google.com
.
Что касается того, почему он вызывает запрашиваемый ресурс path
это потому, что он отправляется в части пакета «путь».
Например, обычный запрос GET для получения этой страницы выглядит примерно так:
GET /questions/60498963 HTTP/1.1
Host: stackoverflow.com
И строка после GET и перед тем, как версия протокола обычно называется путем:
.---------- this is normally called
| the "path"
v
GET /questions/60498963 HTTP/1.1
Host: stackoverflow.com
При создании прокси-запроса HTTP-заголовок выглядит так:
CONNECT stackoverflow.com/questions/60498963 HTTP/1.1
Таким образом, URL, включая имя домена, отправляется к прокси в той части пакета, которая обычно используется для отправки пути к файлу.
Нет То есть все это не имеет ничего общего с Node.js. Это просто базовая c сеть (без языков программирования).