요르딩딩
[Spring 분석] URLConnect, HTTPURLConnect 본문
728x90
반응형
1. URLConnect
- 웹을 통해 데이터를 주고 받을때 사용
- 사용자 인증이나 보안이 설정되지 않은 웹서버에 접속하여 파일등을 다운로드 할때 많이 사용.
- 리소스를 연결하기 전에 구성해야한다.
- 인스턴스는 재사용이 불가하고 connetion마다 다른 인스턴스를 사용해야한다.
2. HTTPURLConnect
- URLConnection을 구현한 클래스
둘다 protected로 선언되어있기 때문에 직접객체를 생성할 수는 없다.
그러나, openConnection()메소드가 반환하는 URLConnection객체는 HTTPURLConnection의 인스턴스로 사용할 수 있다.
아래처럼 URLConnection을 HTTPURLConnection으로 캐스팅해 사용할 수 있다.
URL url = new URL("http://www.naver.com"); //URL객체생성
HTTPURLConnection con =(HTTPURLConnection) url.openConnection(); //HTTPURLConnection객체생성
3. HTTP통신은 keep-alive를 지원한다.
-요청에대한 응답이 끝난 후에도 쉽게 닫히지 않고, 동일한 client에게 또 요청이 오면 소켓을 재사용한다.
- Time-out을 설정하여 연결을 종료할 수 있다.
[소스]
URL url = new URL("http://www.naver.com"); //URL객체생성
HTTPURLConnection con =(HTTPURLConnection) url.openConnection(); //HTTPURLConnection객체생성
con.getInputStream(); //결과 Stream data를 Stream객체에 할당하여 활용가능하다.
con.setRequestMethod("GET"); //요청방식설정
con.setRequestProperty("key", "value"); //request Header설정, 다양한 요청가능
con.setConnectTimeOut(1000);//서버연결 제한시간 (밀리세컨즈 1000분의 1초)
con. setReadTimeOut(1000); //서버연결 후 데이터 read 제한시간
728x90
반응형
'[Web] > [Spring]' 카테고리의 다른 글
[Spring 분석] 파일다운로드 (0) | 2021.04.03 |
---|---|
[Spring 분석] 호스트(IP),프로세스, 포트, 소켓이란 (0) | 2021.04.03 |
[Spring 분석] @Controller, @RestController (0) | 2021.03.27 |
[Spring 분석] Mapper.(java, xml) 작성 (0) | 2021.03.23 |
[Spring 분석]Dispatcher-Servlet 란 (0) | 2021.03.21 |
Comments