Решение J2EE для реализации Proxy-Server: мониторинг, отслеживание, сохранение и (перезагрузка) Http-трафика - PullRequest
1 голос
/ 28 июля 2011

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

Я нахожусь в фазе проектирования / анализа: вот процесс:

  1. Клиент установил свой URL-адрес запроса (цель) через прокси-страницу на прокси (т.е.: http://localhost:port_name/proxy_confg_page.html).
  2. Клиент отправляет запрос (метод POST / GET / и т. Прокси отслеживает трафик, в любом случае сохраняя параметр запроса.

  3. прокси получает ответ (HTTP) от запрошенного URL (целевой URL).

  4. Для успешных запросов (код состояния ответа между 200-299) прокси-сервер может каким-либо образом сохранить запрос и ответ для дальнейших процессов и перенаправить ответ клиенту, чтобы он «увидел» его ответы.
  5. клиент получает входящий (http) ответ от прокси-сервера и отображает его.
  6. клиент может затем щелкнуть ссылку в ответе, установив его в качестве следующего целевого URL для следующего запроса, через прокси
  7. и все начинается сначала с шага 1

У меня есть 2 вопроса:

  • Является ли поток процесса, описанный выше, логически стабильным? если не возражаете, пожалуйста, поправьте меня?

  • Я хочу использовать надежную и масштабируемую библиотеку для обработки трафика (чтение, обновление) в прокси: я думаю о HttpClient. пожалуйста, сделайте эту работу? если не спасибо, скажите мне, почему и какая альтернатива может быть лучше.

Я надеюсь услышать несколько хороших ответов от опытных веб-разработчиков. Спасибо

Ответы [ 2 ]

1 голос
/ 13 сентября 2011

Процесс, который вы описали, выглядит как обычный прокси-сервер пересылки, исключая первую точку:

Клиент устанавливает свой URL-адрес запроса (цель) через прокси-страницу на прокси (то есть: http://localhost:port_name/proxy_confg_page.html).

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

Если вы имели в виду переадресацию прокси-сервера (это тип прокси, который вы задали в настройках веб-браузера), ваши рассуждения в порядке (за исключением первого пункта).

По поводу вашего второго вопроса: HttpClient - лучший инструмент, который вы можете использоватьв вашем случае - это надежная, зрелая и хорошо проверенная библиотека. Одна из лучших, которую я знаю.

0 голосов
/ 14 сентября 2011

Я нашел решение: я буду использовать Tomcat в качестве перенаправляющего прокси, выполнив это.

1- в браузерах, установив адрес веб-приложения (например, http://localhost:port/Webapp)

2 - в веб-приложении используйте HttpClient, чтобы перехватить все входящие запросы от пользователя, сначала сохранить их, а затем переслать, а затем запрос снаружи.

3 - получить ответ с помощью httpClient, сохранить объект ответаи переадресация на вызывающий браузер

...