네트워크 기능 - xrath.com 에서 번역됨

# 네트워크 기능

문서의 목차

JavaTM 2 SDK, Standard Edition, v 1.3 에서의 네트워크 확장 기능

### 새로운 클래스와 인터페이스

- `java.net.DatagramSocketImplFactory`

  새롭게 추가된 인터페이스 java.net.DatagramSocketImplFactory 는,DatagramSocket 에 의해 실효 소켓의 구현이 작성될 때 사용된다. 이 추가에 의해, 사용자는 public API 를 개입시켜 DatagramSocketImplFactory 를 설정할 수 있기 (위해)때문에, DatagramSocket 와 다른 소켓 타입과의 일관성이 유지된다

### 변경된 클래스와 인터페이스

- `java.net.HttpURLConnection`

  다음의 정수가 java.net.HttpURLConnection 에 추가된 것에 의해, HTTP 상태 코드가 HTTP 1.1 RFC 와 일치한다

  - public static final int HTTP_INTERNAL_ERROR = 500;
  - public static final int HTTP_NOT_IMPLEMENTED = 501;

  후속의 HTTP 리다이렉트(redirect) (응답 코드가 3xx 로 요구된다)가 인스턴스 베이스로 지원되도록(듯이), 다음의 2 개의 메소드가 추가되었다. 디폴트에서는, 클래스의 설정이 사용된다

  - public boolean getInstanceFollowRedirects()
  - public void setInstanceFollowRedirects(boolean followRedirects)

- `java.net.Socket` 와 `java.net.SocketImpl`

  다음의 2 개의 메소드가 java.net.Socket 에 추가되었다. 이 때문에, Java 소켓에서는 킵얼라이브 옵션이 지원되게 되었다

  - public boolean getKeepAlive(boolean)
  - public void setKeepAlive(boolean on)

  다음의 2 개의 메소드가 java.net.Socket 와 java.net.SocketImpl 에 추가되었다. 이 결과, TCP half-close 소켓이 지원되게 되었다

  - public void shutdownInput()
  - public void shutdownOutput()

- `java.net.URL, java.net.URLConnection`, 및 `java.net.ContentHandler`

  최신의 IETF 스펙 RFC2396 의 기술에 따라 java.net.URL 에 URL 의 필드와의 일관성을 갖게하기 위해서(때문에), 액세스 메소드가 몇개인가 추가되었다

  - public String getAuthority()
  - public String getPath()
  - public String getQuery()
  - public String getUserInfo()
  - public set(String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)

  overload 한 getContent() 메소드가,java.net.URL ,java.net.URLConnection , 및 java.net.ContentHandler 에 추가된 것에 의해, 반환되는 컨텐츠 객체가, 순서 붙이고 된 Java 의 데이터형 리스트의 하나를 지원하도록(듯이) 요구할 수가 있다. 이것에 의해, MIME 타입을 복수의 Java 데이터형에 매핑 하는 것이 가능하게 되기 (위해)때문에, 시스템의 플렉시빌리티가 향상한다

  - 각 구현에 대해서는, 각 클래스의 javadoc 를 참조

  static 메소드 java.net.URLConnection.setDefaultRequestProperty() 및 java.net.URLConnection.getDefaultRequestProperty() 는 추천되어 있지 않다

- `java.net.URLDecoder`

  메소드 java.net.URLDecoder.decode(String) 는 예외를 throw 하지 않는다

- `java.net.URLStreamHandler`

  java.net.URLStreamHandler 에 새로운 메소드가 몇개인가 추가되었다

  이 결과, 핸들러의 디폴트 포트 번호의 개념이 개시되어 URL 핸들러는 URL 의 동일성과 해시 코드 비교를 URL 의 프로토콜에 고유의 방법으로 오버라이드(override) 할 수 있다. 이러한 변경에 의해, 해석된 URL 의 컴퍼넌트 파츠에의 액세스 정밀도가 향상해, 여러 가지의 URL 핸들러가 일반적인 해석 코드를 공유하는 능력이 강화된다

  - protected boolean equals(URL u1, URL u2)
  - protected int getDefaultPort()
  - protected InetAddress getHostAddress(URL u)
  - protected int hashCode(URL u)
  - protected boolean hostsEqual(URL u1, URL u2)
  - protected boolean sameFile(URL u1, URL u2)
  - protected void setURL(URL u, String protocol, String host, int port, String authority, String userInfo, String path, String query, String ref)

- `java.util.jar.JarFile` 과 `java.util.zip.ZipFile`

  java.util.zip.ZipFile 및 java.util.jar.JarFile 용의 새로운 오픈 모드. 이 모드로 열린 Zip/Jar 파일을 닫을 때, 각 `JarURLConnection` 에 관련지을 수 있었던 일시 (캐쉬) 파일을 자동적으로 삭제해, 처리를 종료한다. 일시 Jar 파일을 로컬 디스크에 다운로드할 경우에 사용한다

### 그 외의 정보

- HTTP 킵얼라이브 등, 클라이언트측에서 HTTP 1.1 의 지원와 확장 기능이 추가되었다
- SDK 로 URL 가 해석될 때, 보다 엄밀하게 RFC 2396 에 준거하게 되었다

Copyright © 1996-99 Sun Microsystems, Inc. All Rights Reserved. | Java Software