Предыдущие ответы были точными, но возможно слишком краткими. Я попытаюсь добавить некоторые примеры.
, В первую очередь, слово "прокси" описывает кого-то или что-то действующее от имени кого-то еще.
В компьютерной области, мы говорим об одном сервере, действующем от имени другого компьютера.
В целях доступности, я ограничу свое обсуждение веб-прокси - однако, идея прокси не ограничена веб-сайтами.
Большая часть обсуждения веб-прокси относится к типу прокси, известного как "вперед прокси".
событие прокси, в этом случае, то, что "вперед прокси" получает данные из другого веб-сайта от имени исходного requestee.
Для примера, я перечислю три компьютера, подключенные к Интернету.
Обычно, можно было бы соединиться непосредственно от X --> Z.
Однако в некоторых сценариях, это лучше для Y --> Z
от имени X
, который цепочки следующим образом: X --> Y --> Z
.
Вот (очень) частичный список использования вперед прокси-сервера.
1) X неспособно к доступу Z непосредственно, потому что
a) Кто-то с полномочиями администратора [более чем 114] интернет-соединение решило блокировать весь доступ к сайту Z
.
Примеры:
вирус Червя Storm распространяется путем обманывания людей в посещение familypostcards2008.com
, таким образом, у системного администратора есть заблокированный доступ на сайт для предотвращения пользователей от непреднамеренного инфицирования себя.
Сотрудники в крупной компании тратили впустую слишком много времени на facebook.com
, таким образом, управление хочет получить доступ заблокированное во время рабочего времени.
А локальная начальная школа запрещает доступ в Интернет к playboy.com
веб-сайт.
правительство А неспособно управлять публикацией новостей, таким образом, это управляет доступом к новостям вместо этого, путем блокирования сайтов такой как wikipedia.org
. См. СКАЛИСТАЯ ВЕРШИНА или FreeNet.
b) администратор [1 110] заблокировался X
.
Примеры:
администратор Z заметил попытки взламывания, происходящие от X, таким образом, администратор решил заблокировать IP-адрес X (и/или netrange).
литий> Z является веб-сайтом форума. X
массово рассылает форум. Z блоки X.
Для этого примера, я перечислю три компьютера, подключенные к Интернету.
Обычно, можно было бы соединиться непосредственно от [1 113]
Однако в некоторых сценариях, для администратора [1 114] лучше ограничить или запретить прямой доступ и вынудить посетителей пройти Y сначала. Так, как прежде, у нас есть данные, получаемые [1 115] от имени [1 116], который цепочки следующим образом: X --> Y --> Z
.
, Что отличается на этот раз по сравнению с "вперед, прокси", то, что на этот раз пользователь X
не знает, что получает доступ Z
, потому что пользователь X
только видит, что связывается с [1 121].
сервер Z
невидим для клиентов, и только обратный прокси Y
видим внешне. Обратный прокси не требует никакой конфигурации (прокси) на стороне клиента.
клиент X
думает, что только связывается с [1 125] (X --> Y
), но действительность то, что Y
передача всей коммуникации (X --> Y --> Z
снова).
В вышеупомянутых сценариях, Z
имеет способность выбрать Y
.
Я обычно использую / src для исходного кода, / test или / tst для тестового кода. , / build для файлов классов, / lib или / libs для зависимостей, / dist для моего JAR и библиотек (так что я могу просто сжать каталог и распространять его, не задумываясь) и / docs для документации (включая JavaDoc). Мой сценарий сборки Ant находится в каталоге, подкаталогами которого являются те, которые я назвал.
При сборке я создаю JAR из / build и копирую / lib и, возможно, / docs в /dist.
Используете ли вы какие-либо инструменты для сборки? Например, Maven ? В противном случае вам, вероятно, следует - и в этом случае структура вашего каталога будет предварительно определена для вас.
Я использую:
programming
- distro
- java
- lib
- src
- com...
- net...
- org...
- tools
И я компилирую классы бок о бок с исходными кодами и упаковываю оттуда в подкаталог дистрибутива.
Для веб-проектов я обычно использую:
<project name>
dev
src
lib
www
build.xml
build
www
bin
www
Папка www
в src это оригинал. Папка www
в сборке - это место, где она объединяется с содержимым аналогичных папок для создания того, что необходимо загрузить. В папке www
я запускаю локальную копию с временными файлами и прочим мусором. У меня есть сценарий муравья в build.xml
, чтобы копировать все вокруг.
Я хотел бы знать, есть ли какой-нибудь стандарт.