네트워크의 프로퍼티 - xrath.com 에서 번역됨

# 네트워크의 프로퍼티

문서의 목차

### Java 의 프로퍼티

> java.net.preferIPv4Stack (디폴트 :false)
>   IPv6 를 이용 가능한 operating system에서는, 기본이 되는 네이티브 소켓은 IPv6 소켓입니다. 이 때문에, Java(TM) 어플리케이션은, IPv4 호스트와 IPv6 호스트의 양쪽 모두에 접속하거나 그 양쪽 모두의 호스트로부터의 접속을 받아들이거나 할 수 있습니다.

>   IPv4 소켓만을 사용하도록(듯이) 설정되어 있는 어플리케이션에서는, 이 프로퍼티을 true 로 설정할 수 있습니다. 즉, 그 어플리케이션은 IPv6 호스트와 통신할 수 없다고 하는 것입니다.

> java.net.preferIPv6Addresses (디폴트 :false)
>   IPv6 를 이용 가능한 operating system에서는, 디폴트의 설정으로서 IPv4 맵의 주소를 IPv6 주소보다 우선하게 되어 있습니다. 이것은, 하위 호환성의 이유에 의합니다. 예를 들어, IPv4 만의 서비스에의 액세스에 의존하는 어플리케이션이나, %d. %d. %d. %d 의 형식에서 표현된 IP 주소에 의존하는 어플리케이션과의 호환성이기 때문에입니다. IPv6 주소를 IPv4 주소보다 우선하는 설정을 시험해 보려면 , 이 프로퍼티을 true 로 설정합니다. 그러면, 어플리케이션이 IPv6 서비스에 접속된다고 예상되는 환경에서 어플리케이션을 테스트해, 그러한 환경에 어플리케이션을 배치할 수가 있습니다.

> networkaddress.cache.ttl
>   java.security 로 지정해, 네임 서비스로부터의 이름의 검색에 성공했을 경우의 캐싱 정책를 나타냅니다. 지정하는 값은, 성공한 검색 결과를 캐쉬하는 초수를 나타내는 정수입니다.

>   -1 의 값은, 「쭉 캐쉬한다」라고 하는 의미입니다. 디폴트에서는, 시큐리티 매니저가 인스톨 되고 있는 경우는 쭉 캐쉬해, 시큐리티 매니저가 인스톨되어 있지 않은 경우는 구현 고유의 기간 캐쉬합니다.

> networkaddress.cache.negative.ttl (디폴트: 10)
>   java.security 로 지정해, 네임 서비스로부터의 이름의 검색에 실패했을 경우의 캐싱 정책를 나타냅니다. 지정하는 값은, 실패한 검색 결과를 캐쉬하는 초수를 나타내는 정수입니다.

>   0 의 값은, 「캐쉬하지 않는다」라고 하는 의미입니다. -1 의 값은, 「쭉 캐쉬한다」라고 하는 의미입니다.

> http.proxyHost (디폴트:<없음 >)
> http.proxyPort (디폴트:80 (http.proxyHost 가 지정되었을 경우))
> http.nonProxyHosts (디폴트 :<none>

> ftp.proxyHost (디폴트:<없음 >)
> ftp.proxyPort (디폴트:80 (ftp.proxyHost 가 지정되었을 경우))
> ftp.nonProxyHosts (디폴트:<없음 >)

>   http.proxyHost 와 http.proxyPort 는, HTTP 프로토콜 핸들러가 사용하는 프록시 서버-와 포트를 나타냅니다.

>   http.nonProxyHosts 는, 프록시 서버-경유는 아니고, 직접 접속해야 할 호스트를 나타냅니다. 호스트의 리스트를 지정할 수도 있습니다. 그 경우는, 각각의 호스트를 「|」으로 단락짓습니다. 또, 와일드 카드 문자 (*)에 의한 매칭도 지정할 수 있습니다. 예를 나타냅니다. -Dhttp.nonProxyHosts="*. foo.com|localhost".

>   ftp.proxyHost 와 ftp.proxyPort 는, FTP 프로토콜 핸들러가 사용하는 프록시 서버-와 포트를 나타냅니다. ftp.nonProxyHosts 는, http.nonProxyHosts 와 같이, 프록시 서버-경유는 아니고, 직접 접속해야 할 호스트를 나타냅니다.

> http.agent (디폴트 :Java1. 4.0)

>   HTTP 요구에 넣어 송신되는 User-Agent 요구 헤더를 나타냅니다.

> http.auth.digest.validateServer (디폴트 :false)
> http.auth.digest.validateProxy (디폴트 :false)
> http.auth.digest.cnonceRepeat (디폴트: 5)
>   이러한 시스템 프로퍼티은, HTTP 다이제스트 인증 기능의 동작을 변경합니다. 다이제스트 인증은, 서버가 사용자 패스워드를 인식하고 있는 것을 클라이언트에 증명하는 것에 의해, 서버 자체를 클라이언트에 인증시키기 위한 한정된 기능을 서버에 제공합니다. 그러나, 모든 서버가 이 기능을 지원하는 것은 아닙니다. 또, 디폴트에서는 이 체크는 오프로 설정되어 있습니다. 상기의 최초의 2 개의 프로퍼티을 true 로 설정해, 오리진 서버 또는 프록시 서버-를 사용한 인증으로, 이 체크 기능을 사용할 수가 있습니다.

>   일반적으로은, 3 번째의 프로퍼티 (http.auth.digest.cnonceRepeat)을 설정할 필요는 없습니다. 이 프로퍼티은, cnonce 치를 재사용하는 회수를 결정합니다. 이 프로퍼티은, MD5-sess 알고리즘을 사용하는 경우에 도움이 됩니다. 이 값을 늘리면(자), 각 HTTP 요구를 위해서(때문에) 해시 해야 하는 정보의 양이 줄어들므로, 클라이언트와 서버의 양쪽 모두로 계산의 오버헤드가 감소합니다.

> http.auth.ntlm.domain:
>   다른 HTTP 인증 방식과 같게, NTLM 에서는 java.net.Authenticator 클래스를 사용해, 사용자명과 패스워드를 필요시에 입수합니다. 그러나, NTLM 의 경우는 NT 도메인명도 필요합니다. 도메인을 지정하는 방법에는, 다음의 3 개의 방법이 있습니다.

>   1. 도메인을 지정하지 않는다. 환경에 따라서는, 도메인을 실제로 필요로 하지 않고, 어플리케이션으로 지정할 필요가 없다
>   2. 사용자명의 전에 도메인명 + 엔기호 「\」을 붙이는 것으로, 도메인명을 사용자 나우치에 encode 한다. 이 방법에서는, 사용자가 이 표기 방법을 사용해야 한다고 하는 것을 의식하면, Authenticator 클래스를 사용하는 기존의 어플리케이션을 변경할 필요가 없다
>   3. 도메인명을 방법 2)로 지정하지 않고, 시스템 프로퍼티 http.auth.ntlm.domain 가 정의되고 있는 경우, 이 프로퍼티의 값을 도메인명으로서 사용할 수 있다

> http.keepAlive (디폴트 :true)
>   킵얼라이브 (지속) 접속을 지원해야할 것인가 제발을 나타냅니다. 지속 접속을 사용하면(자), 복수의 HTTP 요구에 대해서 재사용되는 기본이 되는 것 소켓 접속을 허가하는 것에 의해, 퍼포먼스가 개선됩니다.

>   디폴트는 true 로, HTTP 1.1 서버로 지속 접속이 사용됩니다. 지속 접속의 사용을 무효로 하려면 , false 를 설정합니다.

> http.maxConnections (디폴트: 5)
>   HTTP 킵얼라이브가 유효한 경우, 이 값은, 행선지 마다 동시에 킵얼라이브 되는 아이돌 접속의 수가 됩니다.

### SOCKS 프로토콜 지원의 설정

> SOCKS 사용자명 및 패스워드는 다음의 방법으로 가져옵니다. 우선, 어플리케이션이 java.net.Authenticator 의 디폴트 인스턴스를 등록하고 있는 경우, 캐릭터 라인 「SOCKS5」로 설정된 프로토콜과 캐릭터 라인 [SOCKS authentication] 로 설정된 prompt로, 디폴트 인스턴스가 쿠에리 됩니다. Authenticator가 사용자명/패스워드를 돌려주지 않는 경우나, Authenticator가 등록되지 않은 경우는, 시스템에 의해 사용자 설정 "java.net.socks.username" 와 "java.net.socks.password" 가 확인됩니다. 이러한 설정이 존재하지 않는 경우는, 시스템 프로퍼티 user.name 로 사용자명이 확인됩니다. 이 경우, 패스워드는 지정되지 않습니다.
> socksProxyHost
> socksProxyPort (디폴트: 1080)
>   SOCKS 프로토콜층에서 사용되는 SOCKS 프록시 서버-의 이름과 포트 번호를 나타냅니다. socksProxyHost 를 지정했을 경우, 모든 TCP 소켓은, 접속을 확립하거나 받아들이거나 할 때에 그 SOCKS 프록시 서버-를 사용합니다. SOCKS 프록시 서버-로서는 SOCKS v4 또는 v5 서버의 어느쪽이나 사용 가능해, 인증되지 않는 접속도 가능한 필요가 있습니다

### Sun 의 구현에 고유의 프로퍼티

> 여기에 열거하는 프로퍼티은, 장래의 릴리스로 지원되지 않게 될 가능성이 있습니다.
> sun.net.inetaddr.ttl
>   이것은, Sun 에 고유의 시스템 프로퍼티으로,networkaddress.cache.ttl 에 대응합니다. 프로퍼티의 값과 의미는 같습니다만, 커멘드행 옵션으로서 설정할 수 있는 점이 다릅니다. 다만, 바람직한 것은,전술의 설명에 있는 시큐리티 프로퍼티을 사용하는 방법입니다.

> sun.net.inetaddr.negative.ttl
>   이것은, Sun 에 고유의 시스템 프로퍼티으로,networkaddress.cache.negative.ttl 에 대응합니다. 프로퍼티의 값과 의미는 같습니다만, 커멘드행 옵션으로서 설정할 수 있는 점이 다릅니다. 다만, 바람직한 것은,전술의 설명에 있는 시큐리티 프로퍼티을 사용하는 방법입니다.

> sun.net.client.defaultConnectTimeout (디폴트:-1)
> sun.net.client.defaultReadTimeout (디폴트: -1)
>   이러한 프로퍼티에서는, java.net.URLConnection 로 사용되는 프로토콜 핸들러에 대해서, 디폴트의 접속 및 읽어내 타임 아웃 (응답)을 지정합니다.

>   sun.net.client.defaultConnectTimeout 는, 호스트에게로의 접속을 확립할 때의 타임 아웃 (밀리 세컨드)을 지정합니다. 예를 들어, HTTP 접속의 경우는, HTTP 서버에의 접속을 확립할 때의 타임 아웃입니다. FTP 접속의 경우는, FTP 서버에의 접속을 확립할 때의 타임 아웃입니다.

>   sun.net.client.defaultReadTimeout 는, 자원에의 접속이 확립되어 있을 때의, 입력 스트림로부터 읽어낼 때의 타임 아웃 (밀리 세컨드)을 지정합니다.

> sun.net.http.retryPost (디폴트 :true)
>   성공하지 않았던 HTTP POST 요구가 서버에 자동적으로 재발송신 될지 어떨지를 결정합니다. 이 경우, 「성공하지 않았다」란, 서버가 유효한 HTTP 요구 또는 발생한 IOException 를 송신하지 않았던 것을 의미합니다.

### JNDI DNS 서비스 프로바이더의 설정

> 여기에 열거하는 프로퍼티은, 장래의 릴리스로 지원되지 않게 될 가능성이 있습니다.
> sun.net.spi.nameservice.provider. <n>=<default|dns, sun|...>
>   사용할 수 있는 네임 서비스 프로바이더를 지정합니다. 디폴트에서는, Java 는, 시스템에 구성된 이름 검색 기구를 사용합니다 (file, nis 등). 이 옵션을 설정하면(자), 독자적인 이름 서비스 프로바이더를 지정할 수 있습니다. 에는, 정의 수치를 지정합니다. 이 수치는 우선 순위를 나타내고 있어 작은 값(정도)만큼 우선 순위가 높아집니다. J2SETM 1.4 에서는, JNDI 를 사용해 1 개의 DNS 네임 서비스 프로바이더가 제공되고 있어 그 이름은 「dns, sun」입니다.

> sun.net.spi.nameservice.nameservers=<server1_ipaddr, server2_ipaddr ...>
>   사용하는 DNS 서버를 가리키는 IP 주소를, 콤마로 단락지은 리스트로서 지정할 수 있습니다. sun.net.spi.nameservice.nameservers 프로퍼티이 정의되어 있지 않은 경우, 프로바이더에서는, 플랫폼의 DNS 설정으로 정의 끝난 네임서버-를 사용합니다.

> sun.net.spi.nameservice.domain=<domainname>
>   이 프로퍼티에서는, 디폴트의 DNS 도메인명 (예를 들어, eng.sun.com)을 지정합니다. sun.net.spi.nameservice.domain 프로퍼티이 정의되어 있지 않은 경우, 프로바이더에서는, 플랫폼의 DNS 설정으로 구성 끝난 도메인 또는 도메인 검색 리스트를 사용합니다.

Copyright © 2002 Sun Microsystems, Inc. All Rights Reserved. |