Jakarta Commons HttpComponents

11:49 AM

HTTP (Hyper-Text Transfer Protocol) 은 오늘날 인터넷을 사용하는데 아마도 가장 중요한 프로토콜이라는데 이의를 달 사람은 많이 않을 것이다.

Jakarta Commons 의 HttpComponents 는 HTTP 에서 동작하는 서버나 클라이언트 어플리케이션 개발의 도움을 주도록 디자인 되었다. 예를들면 웹브라우저, 웹스파이더, HTTP 프락시, 웹서비스 전송 라이브러리 등등.

1. HttpCore
HttpCore는 HTTP 프로토콜의 가장 기본이 되는 부분을 담당하는데 아래와 같이 두가지 모듈로 구성되어 있다.

1.1 HttpCore base module
HttpCore은 Java classic (blocking) I/O model 방식으로 구현된 모듈로 HttpCore의 Public API를 제공한다. Java 1.3 이상 필요.

1.2 HttpCore NIO extensions
Event driven, non-blocking I/O (NIO) model 방식으로 구현된 확장된 모듈이다. HttpCore NIO extensions은 Java 5.0 이상 필요. 이 방식은 수많은 동시 Http 접속 연결 요청을 보다 효율적으로 처리할 수 있게 해준다.

2. HttpClient
HttpClient는 클라이언트 인증과 Http state 관리, Connection 관리, HTTP/1.1 호환 HTTP agent 개발등등을 지원한다. Jakarta Commons HttpClient 3.x 에 대한 후속 개발 연장선 상에 있다.

2.1 HttpClient base module
HttpCore기반 위에 만들어진 HTTP/1.1 compliant agent.

2.2 HttpMime module
mime4j 라이브러리를 연장해서 만들어졌다.


public class HttpClientTest
{
public static void main(String[] args)
{
try
{
HttpClient httpclient = new HttpClient();
GetMethod httpget = new GetMethod("https://www.verisign.com/");
try
{
httpclient.executeMethod(httpget);
System.out.println(httpget.getStatusLine());
}
finally
{
httpget.releaseConnection();
}
} catch (Exception e) {
e.printStackTrace();
}
}

0 comments: