emluy 개발 일기

[API] Socket과 HttpURLConnection 차이 본문

웹 개발/Spring

[API] Socket과 HttpURLConnection 차이

yulme 2024. 3. 31. 18:39
SMALL

[Socket과 HttpURLConnection 차이]

1. HttpURLConnection

- HTTP 프로토콜 사용해서 서버와 통신

- URL 기반으로 HTTP 메소드 (GET, POST, PUT, DELETE 등)를 사용하여 요청을 처리

- 헤더 관리, 쿠키 처리, 리디렉션 처리 등 HTTP에 특화된 기능을 제공

URL url = new URL("http://example.com/api/data");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setRequestMethod("GET");
// HTTP 헤더 설정, 쿠키 처리 등
InputStream in = conn.getInputStream();

 

 

2. Socket getOutputStream

- TCP/IP 연결을 통해 원시 데이터를 서버에 보낼 때 사용

- HTTP와 같은 고수준 프로토콜을 사용하지 않고, 데이터를 원시 바이트 형태로 직접 전송

- 특정 프로토콜을 직접 구현하거나, 낮은 수준의 네트워크 통신이 필요할 때 사용

Socket socket = new Socket("example.com", 80);
OutputStream os = socket.getOutputStream();
// 데이터를 바이트로 변환하여 전송
os.write(data);

 

 

[프로토콜]

1. TCP/IP

- TCP/IP는 여러 계층으로 구성되어 있으며, 주요 계층은 네트워크 계층(IP)과 전송 계층(TCP)

 

1) IP (Internet Protocol)

- 데이터 패킷을 송수신하는 장치 간에 주소 지정과 라우팅을 관리

- IP 주소를 사용하여 각 장치를 식별

 

2) TCP (Transmission Control Protocol)

 

- 데이터를 여러 패킷으로 나누고, 이들을 목적지까지 안정적으로 전송, 도착 순서대로 재조립

- 신뢰성 있는 데이터 전송을 보장

 

 

2 . HTTP

- 응용 계층, 웹 브라우저와 웹 서버 간 전송

 

 

반응형
Comments