Spec-Zone .ru
спецификации, руководства, описания, API
|
Есть несколько стандартных системных свойств, используемых, чтобы изменить механизмы и поведение различных классов java.net пакет. Некоторые проверяются только однажды при запуске VM, и поэтому лучше всего устанавливаются, используя-D опцию команды java, в то время как другие имеют более динамический характер и могут также быть изменены, используя System.setProperty () API. Цель этого документа состоит в том, чтобы перечислить и детализировать все эти свойства.
Если нет никакого специального замечания, значение свойства проверяется каждый раз, когда оно используется.
Java net.preferIPv4Stack (значение по умолчанию: ложь)
Если IPv6 будет доступен на операционной системе, то базовый собственный сокет будет, по умолчанию, сокетом IPv6, который позволяет приложениям соединяться с, и принимают соединения от, и IPv4 и узлы IPv6. Однако, в случае приложение использовало бы IPv4, только снабжает сокетом, тогда это свойство может быть установлено в истину. Импликация - то, что для приложения не будет возможно связаться с IPv6, только размещает.
Java net.preferIPv6Addresses (значение по умолчанию: ложь)
Имея дело с узлом, у которого есть и IPv4 и адреса IPv6, и если IPv6 доступен на операционной системе, поведение значения по умолчанию должно предпочесть использовать адреса IPv4 по IPv6. Это должно гарантировать обратную совместимость, например приложения, которые зависят от представления адреса IPv4 (например, 192.168.1.1). Это свойство может быть установлено в истину изменить то предпочтение и адреса IPv6 использования по IPv4 где только возможно.
Оба из этих свойств проверяются только однажды при запуске.
Прокси-сервер позволяет косвенное соединение с сетевыми службами и используется, главным образом, для безопасности (чтобы пройти через брандмауэры), и причины производительности (прокси часто обеспечивают кэширующиеся механизмы). Следующие свойства учитывают конфигурацию различного типа прокси.
HTTP
Следующие настройки прокси используются обработчиком протокола HTTP.
http.proxyHost (значение по умолчанию: <ни один>)
Имя узла, или адрес, прокси-сервера
http.proxyPort (значение по умолчанию: 80)
Номер порта прокси-сервера.
http.nonProxyHosts (значение по умолчанию: localhost|127. * | [:: 1])
Указывает на узлы, к которым нужно получить доступ, не проходя через прокси. Обычно это определяет внутренние узлы. Значение этого свойства является списком узлов, разделенных '|' символ. Кроме того, подстановочный символ '*' может использоваться для сопоставления с образцом. Например -Dhttp.nonProxyHosts=”*.foo.com|localhost”
укажет, что каждый узлы в foo.com к домену и localhost нужно получить доступ непосредственно, даже если прокси-сервер определяется.
Значение по умолчанию исключает все общие изменения петлевого адреса.
HTTPS
Это - HTTP по SSL, безопасной версии HTTP, главным образом, используемого, когда конфиденциальность (как на платежных сайтах) необходима.
Следующие настройки прокси используются обработчиком протокола HTTPS.
https.proxyHost (значение по умолчанию: <ни один>)
Имя узла, или адрес, прокси-сервера
https.proxyPort (значение по умолчанию: 443)
Номер порта прокси-сервера.
Обработчик протокола HTTPS будет использовать то же самое nonProxyHosts свойство в качестве протокола HTTP.
FTP
Следующие настройки прокси используются обработчиком протокола FTP.
ftp.proxyHost (значение по умолчанию: <ни один>)
Имя узла, или адрес, прокси-сервера
ftp.proxyPort (значение по умолчанию: 80)
Номер порта прокси-сервера.
ftp.nonProxyHosts (значение по умолчанию: localhost|127. * | [:: 1])
Указывает на узлы, к которым нужно получить доступ, не проходя через прокси. Обычно это определяет внутренние узлы. Значение этого свойства является списком узлов, разделенных '|' символ. Кроме того, подстановочный символ '*' может использоваться для сопоставления с образцом. Например -Dhttp.nonProxyHosts=”*.foo.com|localhost”
укажет, что каждый узлы в foo.com к домену и localhost нужно получить доступ непосредственно, даже если прокси-сервер определяется.
Значение по умолчанию исключает все общие изменения петлевого адреса.
SOCKS
Это - другой тип прокси. Это учитывает более низкий тип уровня туннелирования, так как это работает на уровне TCP. В действительности в Java (ТМ) платформа, устанавливающая прокси-сервер SOCKS, приведет ко всем соединениям TCP, чтобы пройти через тот прокси, если другие прокси не будут определены. Если SOCKS будет поддерживаться Java реализация SE, то следующие свойства будут использоваться:
socksProxyHost (значение по умолчанию: <ни один>)
Имя узла, или адрес, прокси-сервера.
socksProxyPort (значение по умолчанию: 1080)
Номер порта прокси-сервера.
socksProxyVersion (значение по умолчанию: 5)
Версия протокола SOCKS поддерживается сервером. Значение по умолчанию 5
указание на SOCKS V5, альтернативно 4
может быть определен для SOCKS V4. Установка свойства к значениям кроме них приводит к неуказанному поведению.
java.net.socks.username (значение по умолчанию: <ни один>)
Имя пользователя, чтобы использовать, если сервер SOCKSv5 просит аутентификацию и никакой java.net. Экземпляр аутентификатора был найден.
java.net.socks.password (значение по умолчанию: <ни один>)
Пароль, чтобы использовать, если сервер SOCKSv5 просит аутентификацию и никакой java.net. Экземпляр аутентификатора был найден.
Отметьте, что, если никакой аутентификации не предоставляют или вышеупомянутые свойства или Аутентификатор, и прокси, требует один, то user.name свойство будет использоваться без пароля.
java.net.useSystemProxies (значение по умолчанию: ложь)
На недавних системах Windows и на Gnome 2.x системы возможно сказать java.net стек, устанавливая это свойство в истину, использовать системные настройки прокси (обе этих системы, которым позволяют Вы установить прокси глобально через их пользовательский интерфейс). Отметьте, что это свойство проверяется только однажды при запуске.
http.agent (значение по умолчанию: “Java / <версия>”)
Определяет строку, отправленную в заголовке запроса Агента пользователя в запросах http. Отметьте, что строка “Java / <версия>” будет добавлена к тому, обеспеченному в свойстве (например, если-Dhttp.agent = ”foobar” будет использоваться, то заголовок Агента пользователя будет содержать “foobar Java/1.5.0", если версия VM будет 1.5.0). Это свойство проверяется только однажды при запуске.
http.keepalive (значение по умолчанию: истина)
Указывает, должны ли персистентные соединения поддерживаться. Они улучшают производительность, позволяя базовое сокетное соединение быть снова использованными для многократных запросов http. Если это будет установлено в истину тогда, то персистентные соединения будут требовать с HTTP 1.1 сервера.
http.maxConnections (значение по умолчанию: 5)
Если HTTP keepalive включается (см. выше), это значение определяет максимальное количество неактивных соединений, которые будут одновременно поддержаны на место назначения.
http.maxRedirects (значение по умолчанию: 20)
Это целочисленное значение определяет максимальное количество, для данного запроса, перенаправлений HTTP, которые будут автоматически сопровождаться обработчиком протокола.
http.auth.digest.validateServer (значение по умолчанию: ложь)
http.auth.digest.validateProxy (значение по умолчанию: ложь)
http.auth.digest.cnonceRepeat (значение по умолчанию: 5)
Эти 3 свойства изменяют поведение механизма дайджест-аутентификации HTTP. Дайджест-аутентификация обеспечивает ограниченную возможность к серверу, чтобы аутентифицировать себя клиенту (то есть. Доказывая это знает пароль пользователя). Однако не все серверы HTTP поддерживают эту возможность, и по умолчанию она выключается. Первые два свойства могут быть установлены в истину осуществить эту проверку на аутентификацию или с источником или с прокси-сервером, соответственно.
Обычно не необходимо изменить третье свойство. Это определяет, сколько времен значение cnonce снова используется. Это может быть полезно, когда алгоритм MD5-sess используется. Увеличение этого значения уменьшает вычислительные издержки на обоих клиентах и серверах, уменьшая количество материала, который должен быть хеширован для каждого запроса HTTP.
http.auth.ntlm.domain (значение по умолчанию: <ни один>)
NTLM является другой схемой аутентификации. Это использует java.net. class аутентификатора, чтобы получить имена пользователей и пароли, когда они необходимы. Однако NTLM также нуждается в доменном имени NT. Есть 3 опции для того, чтобы определить что домен:
Не определяйте это. В некоторых средах фактически не требуется домен, и приложение не должно определить это.
Доменное имя может быть закодировано в пределах имени пользователя, снабжая префиксом доменное имя, сопровождаемое наклонной чертой влево '\' перед именем пользователя. С этим методом не должны быть изменены существующие приложения, которые используют аутентификатор class, пока пользователи информируются, что эта нотация должна использоваться.
Если доменное имя не определяется как в методе 2), и они, свойство определяется, то его значение будет использоваться доменное имя.
Все эти свойства проверяются только однажды при запуске.
java.net пакет, делая разрешение имени, использует кэш адреса и для безопасности и для причин производительности. Любой попытке разрешения адреса, быть этим вперед (имя к IP-адресу) или реверс (IP-адрес, чтобы назвать), будут кэшировать его результат, было ли это успешно или нет, так, чтобы последующие идентичные запросы не должны были получить доступ к службе именования. Эти свойства позволяют немного настраиваться на том, как кэш работает.
networkaddress.cache.ttl (значение по умолчанию: см. ниже),
Значение является целым числом, соответствующим числу секунд, которыми успешные поиски имени будут сохранены в кэше. Значение-1, или любая другая отрицательная величина в этом отношении, указывает на “кэш навсегда” политика, в то время как значение 0 (нулей) не означает кэширования. Значение по умолчанию-1 (навсегда), если менеджер безопасности устанавливается, и реализация, определенная, когда никакой менеджер безопасности не устанавливается.
networkaddress.cache.negative.ttl (значение по умолчанию: 10)
Значение является целым числом, соответствующим числу секунд, которыми неудачный поиск имени будет сохранен в кэше. Значение-1, или любая отрицательная величина, означает “кэш навсегда”, в то время как значение 0 (нулей) не означает кэширования.
Так как эти 2 свойства являются частью политики безопасности, они не устанавливаются или-D опцией или System.setProperty () API, вместо этого они устанавливаются как свойства безопасности.