Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Сети > Прокси


Автор: WolfON 1.2.2006, 19:25
Вот стало мне интересно по какому принципу http-прокси сервер вообще работает, для реализации собтсвенного smile

Инетересует вот какой вопрос - что он вообще делает?
Допустим я повесил сокет на 1080 порт - мне приходит запрос [допустим GET] - в нем в поле request некоторый адрес от куда качаеться страничка - мой прокси должен будет эту страничку получить, а потом уже послать туда, откуда пришел запрос?

И вот, что еще интересно, как выглядит запрос посылаемый прокси серверу [отличаеться от обычного или тот-же, но отправлен не по адресу?]

Автор: Romikgy 2.2.2006, 11:49
Я не спец в этом вопросе , сам много чего непонимаю, но имхо, на прокси посылаются такие же пакеты как и обычно без прокси, одна лишь разница, в МАК адрессе идет указание машины где стоит прокся, а айпи нужный тебе, у обычного пакета, МАК-адресс и Айпи-адресс совпадают, и прокси не парсит, ХТТП запросы, если внахалу не указать , что такое надо делать.
Есть такие компоненты Indy, под борланд, так легко организовывается эта вещь мапированием портов, можно там реализацию посмотреть , где т в сети видел исходники прокси на WinSock-е Ищи smile

Автор: WolfON 4.2.2006, 15:48
Мне-бы общий принцип и примеры однопотоковой http-прокси для понимания

Автор: Romikgy 7.2.2006, 17:20
Цитата(WolfON @ 4.2.2006, 14:48 Найти цитируемый пост)

общий принцип

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

Автор: dwr_budr 14.2.2006, 12:14
Romikgy
Ну зачем же людей сбивать с толку бреднями про мак адрес? Он то тут каким боком?

WolfON
Лучший способ разобраться с тем как работает хттп прокси сервер - разобраться для начала с самим хттп. Понятное дело что хттп штука очень объемная, но я говорю о самых фундаментальных темах: основные методы, основные поля и типы соединений. Дальше посмотри коды возврата. Если это все осмыслил - то перед тобой ясная картина как работают клиент и сервер. Их и попробуй реализовать.

Ну а с пониманием как работают клиент и сервер, придет и понимание как себя должен вести прокси. Тогда и простенький прокси сервер написать не составит труда.

Если увлечешься этой темой по серьезному, то без http://www.w3.org/Protocols/rfc2616/rfc2616.html не обойтись.



Автор: Romikgy 14.2.2006, 13:28
dwr_budr Я высказал свое понимание, но не утверждал что оно истиное!!!!
Разьясни как же там на самом деле?

Автор: io2me 15.3.2006, 20:48
вообщем сегодня интересовался этим вопросом.
и так я сделал так:
написал локальный сервак, повесил его на 8888 порт. далее в настройках браузера ввел настройки прокси: localhost:8888.
и вот мой сервак получил от браузера ответ, в котором я не увидел ни в одном заголовке принадлежности прокси. тоесть вывод таков:
ты просто то что хотел отправить серваку для загрузки страницы отправляешь на прокси.
пример:
прокси - 10.3.3.3:80.
ты ему на этот IP и порт отправляешь пакет:
GET http://porno.ru:80 ....
тоесть особой разныцы нет, просто пропусти свой пакет через прокс и в GET укажи полный URL.

Автор: 4udo 6.5.2006, 08:16
Вот - может сгодится.................... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)